==> Building on ninetales ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-contourpy ./ .SRCINFO 739 100% 0.00kB/s 0:00:00 739 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=3/5) .nvchecker.toml 54 100% 52.73kB/s 0:00:00 54 100% 52.73kB/s 0:00:00 (xfr#2, to-chk=2/5) PKGBUILD 1,185 100% 1.13MB/s 0:00:00 1,185 100% 1.13MB/s 0:00:00 (xfr#3, to-chk=1/5) python-contourpy-1.3.0-1.log 240 100% 234.38kB/s 0:00:00 240 100% 234.38kB/s 0:00:00 (xfr#4, to-chk=0/5) sent 1,458 bytes received 143 bytes 3,202.00 bytes/sec total size is 2,174 speedup is 1.36 ==> Patching arch to riscv64... ==> Running extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l root0 on remote host... ]2;🔵 Container arch-nspawn-141460 on ninetales.felixc.at[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [root0]...done ==> Making package: python-contourpy 1.3.0-1 (Mon Sep 16 07:51:42 2024) ==> Retrieving sources...  -> Cloning contourpy git repo... Cloning into bare repository '/home/felix/packages/python-contourpy/contourpy'... remote: Enumerating objects: 5506, done. remote: Counting objects: 0% (1/1794) remote: Counting objects: 1% (18/1794) remote: Counting objects: 2% (36/1794) remote: Counting objects: 3% (54/1794) remote: Counting objects: 4% (72/1794) remote: Counting objects: 5% (90/1794) remote: Counting objects: 6% (108/1794) remote: Counting objects: 7% (126/1794) remote: Counting objects: 8% (144/1794) remote: Counting objects: 9% (162/1794) remote: Counting objects: 10% (180/1794) remote: Counting objects: 11% (198/1794) remote: Counting objects: 12% (216/1794) remote: Counting objects: 13% (234/1794) remote: Counting objects: 14% (252/1794) remote: Counting objects: 15% (270/1794) remote: Counting objects: 16% (288/1794) remote: Counting objects: 17% (305/1794) remote: Counting objects: 18% (323/1794) remote: Counting objects: 19% (341/1794) remote: Counting objects: 20% (359/1794) remote: Counting objects: 21% (377/1794) remote: Counting objects: 22% (395/1794) remote: Counting objects: 23% (413/1794) remote: Counting objects: 24% (431/1794) remote: Counting objects: 25% (449/1794) remote: Counting objects: 26% (467/1794) remote: Counting objects: 27% (485/1794) remote: Counting objects: 28% (503/1794) remote: Counting objects: 29% (521/1794) remote: Counting objects: 30% (539/1794) remote: Counting objects: 31% (557/1794) remote: Counting objects: 32% (575/1794) remote: Counting objects: 33% (593/1794) remote: Counting objects: 34% (610/1794) remote: Counting objects: 35% (628/1794) remote: Counting objects: 36% (646/1794) remote: Counting objects: 37% (664/1794) remote: Counting objects: 38% (682/1794) remote: Counting objects: 39% (700/1794) remote: Counting objects: 40% (718/1794) remote: Counting objects: 41% (736/1794) remote: Counting objects: 42% (754/1794) remote: Counting objects: 43% (772/1794) remote: Counting objects: 44% (790/1794) remote: Counting objects: 45% (808/1794) remote: Counting objects: 46% (826/1794) remote: Counting objects: 47% (844/1794) remote: Counting objects: 48% (862/1794) remote: Counting objects: 49% (880/1794) remote: Counting objects: 50% (897/1794) remote: Counting objects: 51% (915/1794) remote: Counting objects: 52% (933/1794) remote: Counting objects: 53% (951/1794) remote: Counting objects: 54% (969/1794) remote: Counting objects: 55% (987/1794) remote: Counting objects: 56% (1005/1794) remote: Counting objects: 57% (1023/1794) remote: Counting objects: 58% (1041/1794) remote: Counting objects: 59% (1059/1794) remote: Counting objects: 60% (1077/1794) remote: Counting objects: 61% (1095/1794) remote: Counting objects: 62% (1113/1794) remote: Counting objects: 63% (1131/1794) remote: Counting objects: 64% (1149/1794) remote: Counting objects: 65% (1167/1794) remote: Counting objects: 66% (1185/1794) remote: Counting objects: 67% (1202/1794) remote: Counting objects: 68% (1220/1794) remote: Counting objects: 69% (1238/1794) remote: Counting objects: 70% (1256/1794) remote: Counting objects: 71% (1274/1794) remote: Counting objects: 72% (1292/1794) remote: Counting objects: 73% (1310/1794) remote: Counting objects: 74% (1328/1794) remote: Counting objects: 75% (1346/1794) remote: Counting objects: 76% (1364/1794) remote: Counting objects: 77% (1382/1794) remote: Counting objects: 78% (1400/1794) remote: Counting objects: 79% (1418/1794) remote: Counting objects: 80% (1436/1794) remote: Counting objects: 81% (1454/1794) remote: Counting objects: 82% (1472/1794) remote: Counting objects: 83% (1490/1794) remote: Counting objects: 84% (1507/1794) remote: Counting objects: 85% (1525/1794) remote: Counting objects: 86% (1543/1794) remote: Counting objects: 87% (1561/1794) remote: Counting objects: 88% (1579/1794) remote: Counting objects: 89% (1597/1794) remote: Counting objects: 90% (1615/1794) remote: Counting objects: 91% (1633/1794) remote: Counting objects: 92% (1651/1794) remote: Counting objects: 93% (1669/1794) remote: Counting objects: 94% (1687/1794) remote: Counting objects: 95% (1705/1794) remote: Counting objects: 96% (1723/1794) remote: Counting objects: 97% (1741/1794) remote: Counting objects: 98% (1759/1794) remote: Counting objects: 99% (1777/1794) remote: Counting objects: 100% (1794/1794) remote: Counting objects: 100% (1794/1794), done. remote: Compressing objects: 0% (1/609) remote: Compressing objects: 1% (7/609) remote: Compressing objects: 2% (13/609) remote: Compressing objects: 3% (19/609) remote: Compressing objects: 4% (25/609) remote: Compressing objects: 5% (31/609) remote: Compressing objects: 6% (37/609) remote: Compressing objects: 7% (43/609) remote: Compressing objects: 8% (49/609) remote: Compressing objects: 9% (55/609) remote: Compressing objects: 10% (61/609) remote: Compressing objects: 11% (67/609) remote: Compressing objects: 12% (74/609) remote: Compressing objects: 13% (80/609) remote: Compressing objects: 14% (86/609) remote: Compressing objects: 15% (92/609) remote: Compressing objects: 16% (98/609) remote: Compressing objects: 17% (104/609) remote: Compressing objects: 18% (110/609) remote: Compressing objects: 19% (116/609) remote: Compressing objects: 20% (122/609) remote: Compressing objects: 21% (128/609) remote: Compressing objects: 22% (134/609) remote: Compressing objects: 23% (141/609) remote: Compressing objects: 24% (147/609) remote: Compressing objects: 25% (153/609) remote: Compressing objects: 26% (159/609) remote: Compressing objects: 27% (165/609) remote: Compressing objects: 28% (171/609) remote: Compressing objects: 29% (177/609) remote: Compressing objects: 30% (183/609) remote: Compressing objects: 31% (189/609) remote: Compressing objects: 32% (195/609) remote: Compressing objects: 33% (201/609) remote: Compressing objects: 34% (208/609) remote: Compressing objects: 35% (214/609) remote: Compressing objects: 36% (220/609) remote: Compressing objects: 37% (226/609) remote: Compressing objects: 38% (232/609) remote: Compressing objects: 39% (238/609) remote: Compressing objects: 40% (244/609) remote: Compressing objects: 41% (250/609) remote: Compressing objects: 42% (256/609) remote: Compressing objects: 43% (262/609) remote: Compressing objects: 44% (268/609) remote: Compressing objects: 45% (275/609) remote: Compressing objects: 46% (281/609) remote: Compressing objects: 47% (287/609) remote: Compressing objects: 48% (293/609) remote: Compressing objects: 49% (299/609) remote: Compressing objects: 50% (305/609) remote: Compressing objects: 51% (311/609) remote: Compressing objects: 52% (317/609) remote: Compressing objects: 53% (323/609) remote: Compressing objects: 54% (329/609) remote: Compressing objects: 55% (335/609) remote: Compressing objects: 56% (342/609) remote: Compressing objects: 57% (348/609) remote: Compressing objects: 58% (354/609) remote: Compressing objects: 59% (360/609) remote: Compressing objects: 60% (366/609) remote: Compressing objects: 61% (372/609) remote: Compressing objects: 62% (378/609) remote: Compressing objects: 63% (384/609) remote: Compressing objects: 64% (390/609) remote: Compressing objects: 65% (396/609) remote: Compressing objects: 66% (402/609) remote: Compressing objects: 67% (409/609) remote: Compressing objects: 68% (415/609) remote: Compressing objects: 69% (421/609) remote: Compressing objects: 70% (427/609) remote: Compressing objects: 71% (433/609) remote: Compressing objects: 72% (439/609) remote: Compressing objects: 73% (445/609) remote: Compressing objects: 74% (451/609) remote: Compressing objects: 75% (457/609) remote: Compressing objects: 76% (463/609) remote: Compressing objects: 77% (469/609) remote: Compressing objects: 78% (476/609) remote: Compressing objects: 79% (482/609) remote: Compressing objects: 80% (488/609) remote: Compressing objects: 81% (494/609) remote: Compressing objects: 82% (500/609) remote: Compressing objects: 83% (506/609) remote: Compressing objects: 84% (512/609) remote: Compressing objects: 85% (518/609) remote: Compressing objects: 86% (524/609) remote: Compressing objects: 87% (530/609) remote: Compressing objects: 88% (536/609) remote: Compressing objects: 89% (543/609) remote: Compressing objects: 90% (549/609) remote: Compressing objects: 91% (555/609) remote: Compressing objects: 92% (561/609) remote: Compressing objects: 93% (567/609) remote: Compressing objects: 94% (573/609) remote: Compressing objects: 95% (579/609) remote: Compressing objects: 96% (585/609) remote: Compressing objects: 97% (591/609) remote: Compressing objects: 98% (597/609) remote: Compressing objects: 99% (603/609) remote: Compressing objects: 100% (609/609) remote: Compressing objects: 100% (609/609), done. Receiving objects: 0% (1/5506) Receiving objects: 1% (56/5506) Receiving objects: 2% (111/5506) Receiving objects: 3% (166/5506) Receiving objects: 4% (221/5506) Receiving objects: 5% (276/5506) Receiving objects: 6% (331/5506) Receiving objects: 7% (386/5506) Receiving objects: 8% (441/5506) Receiving objects: 9% (496/5506) Receiving objects: 10% (551/5506) Receiving objects: 11% (606/5506) Receiving objects: 12% (661/5506) Receiving objects: 13% (716/5506) Receiving objects: 14% (771/5506) Receiving objects: 15% (826/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 16% (881/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 17% (937/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 18% (992/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 19% (1047/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 20% (1102/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 21% (1157/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 22% (1212/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 23% (1267/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 24% (1322/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 25% (1377/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 26% (1432/5506), 1.97 MiB | 3.93 MiB/s Receiving objects: 26% (1466/5506), 6.23 MiB | 6.23 MiB/s Receiving objects: 27% (1487/5506), 6.23 MiB | 6.23 MiB/s Receiving objects: 28% (1542/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 29% (1597/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 30% (1652/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 31% (1707/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 32% (1762/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 33% (1817/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 34% (1873/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 35% (1928/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 36% (1983/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 37% (2038/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 38% (2093/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 39% (2148/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 40% (2203/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 41% (2258/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 42% (2313/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 43% (2368/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 44% (2423/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 45% (2478/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 46% (2533/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 47% (2588/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 48% (2643/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 49% (2698/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 50% (2753/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 51% (2809/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 52% (2864/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 53% (2919/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 54% (2974/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 55% (3029/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 56% (3084/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 57% (3139/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 58% (3194/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 59% (3249/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 60% (3304/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 61% (3359/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 62% (3414/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 63% (3469/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 64% (3524/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 65% (3579/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 66% (3634/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 67% (3690/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 68% (3745/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 69% (3800/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 70% (3855/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 71% (3910/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 72% (3965/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 73% (4020/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 74% (4075/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 75% (4130/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 76% (4185/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 77% (4240/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 78% (4295/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 79% (4350/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 80% (4405/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 81% (4460/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 82% (4515/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 83% (4570/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 84% (4626/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 85% (4681/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 86% (4736/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 87% (4791/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 88% (4846/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 89% (4901/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 90% (4956/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 91% (5011/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 92% (5066/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 93% (5121/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 94% (5176/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 95% (5231/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 96% (5286/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 97% (5341/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 98% (5396/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 99% (5451/5506), 13.35 MiB | 8.89 MiB/s remote: Total 5506 (delta 1247), reused 1621 (delta 1132), pack-reused 3712 (from 1) Receiving objects: 100% (5506/5506), 13.35 MiB | 8.89 MiB/s Receiving objects: 100% (5506/5506), 23.49 MiB | 11.77 MiB/s, done. Resolving deltas: 0% (0/3696) Resolving deltas: 1% (37/3696) Resolving deltas: 2% (74/3696) Resolving deltas: 3% (111/3696) Resolving deltas: 4% (148/3696) Resolving deltas: 5% (185/3696) Resolving deltas: 6% (222/3696) Resolving deltas: 7% (260/3696) Resolving deltas: 8% (296/3696) Resolving deltas: 9% (333/3696) Resolving deltas: 10% (370/3696) Resolving deltas: 11% (407/3696) Resolving deltas: 12% (444/3696) Resolving deltas: 13% (481/3696) Resolving deltas: 14% (518/3696) Resolving deltas: 15% (555/3696) Resolving deltas: 16% (592/3696) Resolving deltas: 17% (629/3696) Resolving deltas: 18% (666/3696) Resolving deltas: 19% (703/3696) Resolving deltas: 20% (740/3696) Resolving deltas: 21% (778/3696) Resolving deltas: 22% (815/3696) Resolving deltas: 23% (852/3696) Resolving deltas: 24% (888/3696) Resolving deltas: 25% (924/3696) Resolving deltas: 26% (961/3696) Resolving deltas: 27% (998/3696) Resolving deltas: 28% (1036/3696) Resolving deltas: 29% (1072/3696) Resolving deltas: 30% (1109/3696) Resolving deltas: 31% (1146/3696) Resolving deltas: 32% (1183/3696) Resolving deltas: 33% (1220/3696) Resolving deltas: 34% (1257/3696) Resolving deltas: 35% (1294/3696) Resolving deltas: 36% (1331/3696) Resolving deltas: 37% (1368/3696) Resolving deltas: 38% (1406/3696) Resolving deltas: 39% (1442/3696) Resolving deltas: 40% (1479/3696) Resolving deltas: 41% (1516/3696) Resolving deltas: 42% (1553/3696) Resolving deltas: 43% (1590/3696) Resolving deltas: 44% (1627/3696) Resolving deltas: 45% (1664/3696) Resolving deltas: 46% (1701/3696) Resolving deltas: 47% (1738/3696) Resolving deltas: 48% (1779/3696) Resolving deltas: 49% (1812/3696) Resolving deltas: 50% (1849/3696) Resolving deltas: 51% (1886/3696) Resolving deltas: 52% (1922/3696) Resolving deltas: 53% (1959/3696) Resolving deltas: 54% (1996/3696) Resolving deltas: 55% (2033/3696) Resolving deltas: 56% (2070/3696) Resolving deltas: 57% (2107/3696) Resolving deltas: 58% (2144/3696) Resolving deltas: 59% (2181/3696) Resolving deltas: 60% (2218/3696) Resolving deltas: 61% (2255/3696) Resolving deltas: 62% (2292/3696) Resolving deltas: 63% (2329/3696) Resolving deltas: 64% (2366/3696) Resolving deltas: 65% (2403/3696) Resolving deltas: 66% (2440/3696) Resolving deltas: 67% (2477/3696) Resolving deltas: 68% (2514/3696) Resolving deltas: 69% (2551/3696) Resolving deltas: 70% (2588/3696) Resolving deltas: 71% (2625/3696) Resolving deltas: 72% (2662/3696) Resolving deltas: 73% (2699/3696) Resolving deltas: 74% (2736/3696) Resolving deltas: 75% (2772/3696) Resolving deltas: 76% (2809/3696) Resolving deltas: 77% (2847/3696) Resolving deltas: 78% (2884/3696) Resolving deltas: 79% (2920/3696) Resolving deltas: 80% (2957/3696) Resolving deltas: 81% (2994/3696) Resolving deltas: 82% (3031/3696) Resolving deltas: 83% (3068/3696) Resolving deltas: 84% (3105/3696) Resolving deltas: 85% (3142/3696) Resolving deltas: 86% (3179/3696) Resolving deltas: 87% (3216/3696) Resolving deltas: 88% (3253/3696) Resolving deltas: 89% (3290/3696) Resolving deltas: 90% (3328/3696) Resolving deltas: 91% (3365/3696) Resolving deltas: 92% (3401/3696) Resolving deltas: 93% (3438/3696) Resolving deltas: 94% (3475/3696) Resolving deltas: 95% (3512/3696) Resolving deltas: 96% (3549/3696) Resolving deltas: 97% (3586/3696) Resolving deltas: 98% (3624/3696) Resolving deltas: 99% (3660/3696) Resolving deltas: 100% (3696/3696) Resolving deltas: 100% (3696/3696), done. ==> Validating source files with sha256sums... contourpy ... Passed ]2;🔵 Container arch-nspawn-142668 on ninetales.felixc.at==> Making package: python-contourpy 1.3.0-1 (Mon Sep 16 07:52:31 2024) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (6) New Version Net Change extra/blas 3.12.0-5 0.41 MiB extra/cblas 3.12.0-5 0.28 MiB extra/lapack 3.12.0-5 4.72 MiB extra/mpdecimal 4.0.0-2 0.29 MiB core/python 3.12.6-1 106.60 MiB extra/python-numpy 2.0.1-1 38.05 MiB Total Installed Size: 150.35 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing blas... installing cblas... installing lapack... installing python-numpy... Optional dependencies for python-numpy blas-openblas: faster linear algebra :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... warning: dependency cycle detected: warning: harfbuzz will be installed before its freetype2 dependency Package (46) New Version Net Change Download Size extra/freetype2 2.13.3-1 1.58 MiB extra/fribidi 1.0.15-1 0.24 MiB extra/graphite 1:1.3.14-4 0.18 MiB extra/harfbuzz 9.0.0-1 3.97 MiB extra/jbigkit 2.1-8 0.13 MiB extra/lcms2 2.16-1 0.61 MiB extra/libimagequant 4.3.3-1 0.51 MiB extra/libjpeg-turbo 3.0.3-1 1.89 MiB extra/libpng 1.6.44-1 0.53 MiB extra/libraqm 0.10.1-2 0.18 MiB extra/libtiff 4.6.0-6 1.21 MiB extra/libxau 1.0.11-3 0.02 MiB extra/libxcb 1.17.0-1 3.69 MiB extra/libxdmcp 1.1.5-1 0.13 MiB extra/meson 1.5.1-1 12.70 MiB extra/ninja 1.12.1-1 0.29 MiB extra/openjpeg2 2.5.2-1 13.21 MiB extra/patchelf 0.18.0-3 0.19 MiB extra/perl-error 0.17029-7 0.04 MiB extra/perl-mailtools 2.21-9 0.10 MiB extra/perl-timedate 2.33-7 0.08 MiB extra/python-contourpy 1.2.1-3.1 0.73 MiB extra/python-cycler 0.12.1-2 0.07 MiB extra/python-dateutil 2.9.0-5 0.99 MiB extra/python-fonttools 4.53.1-1 18.88 MiB extra/python-iniconfig 2.0.0-5 0.04 MiB extra/python-kiwisolver 1.4.5-3 0.12 MiB extra/python-packaging 24.1-1 0.49 MiB extra/python-pillow 10.4.0-1 4.13 MiB extra/python-pluggy 1.5.0-1 0.20 MiB extra/python-pyparsing 3.1.2-2 1.25 MiB extra/python-pyproject-hooks 1.1.0-1 0.10 MiB extra/python-pyproject-metadata 0.8.0-1 0.08 MiB extra/python-six 1.16.0-9 0.11 MiB extra/python-tqdm 4.65.0-3 0.64 MiB extra/qhull 2020.2-5 12.82 MiB extra/xcb-proto 1.17.0-2 1.02 MiB extra/xorgproto 2024.1-2 1.46 MiB extra/git 2.46.1-1 26.98 MiB extra/meson-python 0.16.0-3 0.27 MiB extra/pybind11 2.13.5-1 0.91 MiB extra/python-build 1.2.1-3 0.19 MiB extra/python-installer 0.7.0-8 0.18 MiB extra/python-matplotlib 3.8.3-3 26.71 MiB extra/python-pytest 1:8.3.3-1 3.90 MiB 0.67 MiB extra/python-wurlitzer 3.1.1-1 0.07 MiB 0.02 MiB Total Download Size: 0.69 MiB Total Installed Size: 143.81 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-pytest-1:8.3.3-1-any downloading... python-wurlitzer-3.1.1-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing git... Optional dependencies for git tk: gitk and git gui openssh: ssh transport and crypto perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-mediawiki-api: git mediawiki support perl-datetime-format-iso8601: git mediawiki support perl-lwp-protocol-https: git mediawiki https support perl-cgi: gitweb (web interface) support python: git svn & git p4 [installed] subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] installing ninja... installing python-tqdm... Optional dependencies for python-tqdm python-requests: telegram installing meson... installing patchelf... installing python-packaging... installing python-pyproject-metadata... installing meson-python... Optional dependencies for meson-python python-colorama: colored output installing pybind11... Optional dependencies for pybind11 python-setuptools: for python bindings installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing libpng... installing graphite... Optional dependencies for graphite graphite-docs: Documentation installing harfbuzz... Optional dependencies for harfbuzz harfbuzz-utils: utilities installing freetype2... installing python-contourpy... Optional dependencies for python-contourpy python-matplotlib: matplotlib renderer [pending] installing python-cycler... installing python-six... installing python-dateutil... installing python-fonttools... Optional dependencies for python-fonttools python-brotli: to compress/decompress WOFF 2.0 web fonts python-fs: to read/write UFO source files python-lxml: faster backend for XML files reading/writing python-lz4: for graphite type tables in ttLib/tables python-matplotlib: for visualizing DesignSpaceDocument and resulting VariationModel [pending] python-pyqt5: for drawing glyphs with Qt’s QPainterPath python-reportlab: to drawing glyphs as PNG images python-scipy: for finding wrong contour/component order between different masters python-sympy: for symbolic font statistics analysis python-uharfbuzz: to use the Harfbuzz Repacker for packing GSUB/GPOS tables python-unicodedata2: for displaying the Unicode character names when dumping the cmap table with ttx python-zopfli: faster backend fom WOFF 1.0 web fonts compression installing python-kiwisolver... installing jbigkit... installing libjpeg-turbo... Optional dependencies for libjpeg-turbo java-runtime>11: for TurboJPEG Java wrapper installing libtiff... Optional dependencies for libtiff freeglut: for using tiffgt installing lcms2... installing fribidi... installing libraqm... installing openjpeg2... installing libimagequant... installing xcb-proto... installing xorgproto... installing libxdmcp... installing libxau... installing libxcb... installing python-pillow... Optional dependencies for python-pillow libwebp: for webp images tk: for the ImageTK module python-olefile: OLE2 file support python-pyqt6: for the ImageQt module installing python-pyparsing... Optional dependencies for python-pyparsing python-railroad-diagrams: for generating Railroad Diagrams python-jinja: for generating Railroad Diagrams installing qhull... installing python-matplotlib... Optional dependencies for python-matplotlib tk: Tk{Agg,Cairo} backends pyside6: alternative for Qt6{Agg,Cairo} backends python-pyqt5: Qt5{Agg,Cairo} backends python-pyqt6: Qt6{Agg,Cairo} backends python-gobject: for GTK{3,4}{Agg,Cairo} backend python-wxpython: WX{Agg,Cairo} backend python-cairo: {GTK{3,4},Qt{5,6},Tk,WX}Cairo backends python-cairocffi: alternative for Cairo backends python-tornado: WebAgg backend ffmpeg: for saving movies imagemagick: for saving animated gifs ghostscript: usetex dependencies texlive-binextra: usetex dependencies texlive-fontsrecommended: usetex dependencies texlive-latexrecommended: usetex usage with pdflatex python-certifi: https support installing python-iniconfig... installing python-pluggy... installing python-pytest... installing python-wurlitzer... :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 972. Creating user 'git' (git daemon user) with UID 972 and GID 972. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Warn about old perl modules [?25h==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Creating working copy of contourpy git repo... Cloning into 'contourpy'... done. Updating files: 97% (251/258) Updating files: 98% (253/258) Updating files: 99% (256/258) Updating files: 100% (258/258) Updating files: 100% (258/258), done. Switched to a new branch 'makepkg' ==> Starting prepare()... ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... + meson setup /build/python-contourpy/src/contourpy /build/python-contourpy/src/contourpy/.mesonpy-ecawp21p -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/build/python-contourpy/src/contourpy/.mesonpy-ecawp21p/meson-python-native-file.ini The Meson build system Version: 1.5.1 Source dir: /build/python-contourpy/src/contourpy Build dir: /build/python-contourpy/src/contourpy/.mesonpy-ecawp21p Build type: native build Project name: contourpy Project version: 1.3.0 C++ compiler for the host machine: c++ (gcc 14.2.1 "c++ (GCC) 14.2.1 20240910") C++ linker for the host machine: c++ ld.bfd 2.43.0 Host machine cpu family: riscv64 Host machine cpu: riscv64 Program python found: YES (/usr/bin/python) Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1 Run-time dependency pybind11 found: YES 2.13.5 Configuring _build_config.py using configuration Run-time dependency python found: YES 3.12 Build targets in project: 1 contourpy 1.3.0 Build config host_cpu : riscv64 build_cpu : riscv64 cross_build : false optimization: 3 User defined options Native files: /build/python-contourpy/src/contourpy/.mesonpy-ecawp21p/meson-python-native-file.ini buildtype : release vsenv : true b_ndebug : if-release b_vscrt : md Found ninja-1.12.1 at /usr/bin/ninja Visual Studio environment is needed to run Ninja. It is recommended to use Meson wrapper: /usr/bin/meson compile -C . + /usr/bin/ninja -v [1/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/z_interp.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/z_interp.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/z_interp.cpp.o -c ../src/z_interp.cpp [2/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/fill_type.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/fill_type.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/fill_type.cpp.o -c ../src/fill_type.cpp [3/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/line_type.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/line_type.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/line_type.cpp.o -c ../src/line_type.cpp [4/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/outer_or_hole.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/outer_or_hole.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/outer_or_hole.cpp.o -c ../src/outer_or_hole.cpp [5/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/converter.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/converter.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/converter.cpp.o -c ../src/converter.cpp [6/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/chunk_local.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/chunk_local.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/chunk_local.cpp.o -c ../src/chunk_local.cpp [7/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/util.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/util.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/util.cpp.o -c ../src/util.cpp [8/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/contour_generator.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/contour_generator.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/contour_generator.cpp.o -c ../src/contour_generator.cpp [9/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005.cpp.o -c ../src/mpl2005.cpp [10/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005_original.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005_original.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005_original.cpp.o -c ../src/mpl2005_original.cpp [11/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/serial.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/serial.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/serial.cpp.o -c ../src/serial.cpp [12/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2014.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2014.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2014.cpp.o -c ../src/mpl2014.cpp [13/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/threaded.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/threaded.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/threaded.cpp.o -c ../src/threaded.cpp [14/15] c++ -Isrc/_contourpy.cpython-312-riscv64-linux-gnu.so.p -Isrc -I../src -I/usr/lib/pkgconfig/../../include -I/usr/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -O3 -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto -fPIC -DCONTOURPY_VERSION=1.3.0 -MD -MQ src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/wrap.cpp.o -MF src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/wrap.cpp.o.d -o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/wrap.cpp.o -c ../src/wrap.cpp [15/15] c++ -o src/_contourpy.cpython-312-riscv64-linux-gnu.so src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/chunk_local.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/contour_generator.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/converter.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/fill_type.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/line_type.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005_original.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2005.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/mpl2014.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/outer_or_hole.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/serial.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/threaded.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/util.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/wrap.cpp.o src/_contourpy.cpython-312-riscv64-linux-gnu.so.p/z_interp.cpp.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -flto=auto -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/python-contourpy/src=/usr/src/debug/python-contourpy -flto=auto [1/20] /build/python-contourpy/src/contourpy/.mesonpy-ecawp21p/src/_contourpy.cpython-312-riscv64-linux-gnu.so [2/20] /build/python-contourpy/src/contourpy/lib/contourpy/__init__.py [3/20] /build/python-contourpy/src/contourpy/lib/contourpy/_version.py [4/20] /build/python-contourpy/src/contourpy/lib/contourpy/array.py [5/20] /build/python-contourpy/src/contourpy/lib/contourpy/chunk.py [6/20] /build/python-contourpy/src/contourpy/lib/contourpy/convert.py [7/20] /build/python-contourpy/src/contourpy/lib/contourpy/dechunk.py [8/20] /build/python-contourpy/src/contourpy/lib/contourpy/enum_util.py [9/20] /build/python-contourpy/src/contourpy/lib/contourpy/typecheck.py [10/20] /build/python-contourpy/src/contourpy/lib/contourpy/types.py [11/20] /build/python-contourpy/src/contourpy/lib/contourpy/_contourpy.pyi [12/20] /build/python-contourpy/src/contourpy/lib/contourpy/py.typed [13/20] /build/python-contourpy/src/contourpy/lib/contourpy/util/__init__.py [14/20] /build/python-contourpy/src/contourpy/lib/contourpy/util/bokeh_renderer.py [15/20] /build/python-contourpy/src/contourpy/lib/contourpy/util/bokeh_util.py [16/20] /build/python-contourpy/src/contourpy/lib/contourpy/util/data.py [17/20] /build/python-contourpy/src/contourpy/lib/contourpy/util/mpl_renderer.py [18/20] /build/python-contourpy/src/contourpy/lib/contourpy/util/mpl_util.py [19/20] /build/python-contourpy/src/contourpy/lib/contourpy/util/renderer.py [20/20] /build/python-contourpy/src/contourpy/.mesonpy-ecawp21p/lib/contourpy/util/_build_config.py Successfully built contourpy-1.3.0-cp312-cp312-linux_riscv64.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 -- /build/python-contourpy/src/contourpy/test-env/bin/python cachedir: .pytest_cache rootdir: /build/python-contourpy/src/contourpy configfile: pyproject.toml collecting ... collected 2512 items / 1 skipped tests/test_array.py::test_codes_from_offsets PASSED [ 0%] tests/test_array.py::test_codes_from_offsets_and_points PASSED [ 0%] tests/test_array.py::test_codes_from_points PASSED [ 0%] tests/test_array.py::test_concat_codes PASSED [ 0%] tests/test_array.py::test_concat_codes_or_none PASSED [ 0%] tests/test_array.py::test_concat_offsets PASSED [ 0%] tests/test_array.py::test_concat_offsets_or_none PASSED [ 0%] tests/test_array.py::test_concat_points PASSED [ 0%] tests/test_array.py::test_concat_points_or_none PASSED [ 0%] tests/test_array.py::test_concat_points_or_none_with_nan PASSED [ 0%] tests/test_array.py::test_concat_points_with_nan PASSED [ 0%] tests/test_array.py::test_insert_nan_at_offsets PASSED [ 0%] tests/test_array.py::test_offsets_from_codes PASSED [ 0%] tests/test_array.py::test_offsets_from_lengths PASSED [ 0%] tests/test_array.py::test_outer_offsets_from_list_of_codes PASSED [ 0%] tests/test_array.py::test_outer_offsets_from_list_of_offsets PASSED [ 0%] tests/test_array.py::test_remove_nan PASSED [ 0%] tests/test_array.py::test_split_codes_by_offsets PASSED [ 0%] tests/test_array.py::test_split_points_at_nan PASSED [ 0%] tests/test_array.py::test_split_points_by_offsets PASSED [ 0%] tests/test_build_config.py::test_build_config PASSED [ 0%] tests/test_chunk.py::test_two_factors[1-factors0] PASSED [ 0%] tests/test_chunk.py::test_two_factors[2-factors1] PASSED [ 0%] tests/test_chunk.py::test_two_factors[3-factors2] PASSED [ 0%] tests/test_chunk.py::test_two_factors[4-factors3] PASSED [ 0%] tests/test_chunk.py::test_two_factors[5-factors4] PASSED [ 1%] tests/test_chunk.py::test_two_factors[6-factors5] PASSED [ 1%] tests/test_chunk.py::test_two_factors[7-factors6] PASSED [ 1%] tests/test_chunk.py::test_two_factors[8-factors7] PASSED [ 1%] tests/test_chunk.py::test_two_factors[9-factors8] PASSED [ 1%] tests/test_chunk.py::test_two_factors[10-factors9] PASSED [ 1%] tests/test_chunk.py::test_two_factors[11-factors10] PASSED [ 1%] tests/test_chunk.py::test_two_factors[12-factors11] PASSED [ 1%] tests/test_chunk.py::test_two_factors[20-factors12] PASSED [ 1%] tests/test_chunk.py::test_two_factors[24-factors13] PASSED [ 1%] tests/test_chunk.py::test_two_factors[30-factors14] PASSED [ 1%] tests/test_chunk.py::test_two_factors[99-factors15] PASSED [ 1%] tests/test_chunk.py::test_two_factors[100-factors16] PASSED [ 1%] tests/test_chunk.py::test_two_factors[101-factors17] PASSED [ 1%] tests/test_chunk.py::test_two_factors_invalid[-1] PASSED [ 1%] tests/test_chunk.py::test_two_factors_invalid[-9] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_1d[0] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_1d[1] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_1d[2] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_1d[3] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_1d[6] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_1d[9] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_2d[0-1] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_2d[1-3] PASSED [ 1%] tests/test_chunk.py::test_chunk_size_2d[4-2] PASSED [ 1%] tests/test_chunk.py::test_chunk_count_1d[0-res0] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_1d[1-res1] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_1d[2-res2] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_1d[3-res3] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_1d[4-res4] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_1d[5-res5] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_1d[6-res6] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_2d[chunk_count0-res0] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_2d[chunk_count1-res1] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_2d[chunk_count2-res2] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_2d[chunk_count3-res3] PASSED [ 2%] tests/test_chunk.py::test_chunk_count_2d[chunk_count4-res4] PASSED [ 2%] tests/test_chunk.py::test_total_chunk_count[-1-res0] PASSED [ 2%] tests/test_chunk.py::test_total_chunk_count[0-res1] PASSED [ 2%] tests/test_chunk.py::test_total_chunk_count[1-res2] PASSED [ 2%] tests/test_chunk.py::test_total_chunk_count[2-res3] PASSED [ 2%] tests/test_chunk.py::test_total_chunk_count[3-res4] PASSED [ 2%] tests/test_chunk.py::test_total_chunk_count[4-res5] PASSED [ 2%] tests/test_chunk.py::test_calc_chunk_sizes_invalid PASSED [ 2%] tests/test_codebase.py::test_cppcheck SKIPPED [ 2%] tests/test_codebase.py::test_mypy SKIPPED [ 2%] tests/test_codebase.py::test_version PASSED [ 2%] tests/test_config.py::test_config_filled[mpl2005-False] FAILED [ 2%] tests/test_config.py::test_config_filled[mpl2005-True] SKIPPED (use ...) [ 2%] tests/test_config.py::test_config_filled[mpl2014-False] FAILED [ 2%] tests/test_config.py::test_config_filled[mpl2014-True] SKIPPED (use ...) [ 3%] tests/test_config.py::test_config_filled[serial-False] FAILED [ 3%] tests/test_config.py::test_config_filled[serial-True] SKIPPED (use -...) [ 3%] tests/test_config.py::test_config_filled[threaded-False] FAILED [ 3%] tests/test_config.py::test_config_filled[threaded-True] SKIPPED (use...) [ 3%] tests/test_config.py::test_config_filled_quad_as_tri[serial-False] FAILED [ 3%] tests/test_config.py::test_config_filled_quad_as_tri[serial-True] SKIPPED [ 3%] tests/test_config.py::test_config_filled_quad_as_tri[threaded-False] FAILED [ 3%] tests/test_config.py::test_config_filled_quad_as_tri[threaded-True] SKIPPED [ 3%] tests/test_config.py::test_config_filled_corner[mpl2014-False] FAILED [ 3%] tests/test_config.py::test_config_filled_corner[mpl2014-True] SKIPPED [ 3%] tests/test_config.py::test_config_filled_corner[serial-False] FAILED [ 3%] tests/test_config.py::test_config_filled_corner[serial-True] SKIPPED [ 3%] tests/test_config.py::test_config_filled_corner[threaded-False] FAILED [ 3%] tests/test_config.py::test_config_filled_corner[threaded-True] SKIPPED [ 3%] tests/test_config.py::test_config_lines[mpl2005-False] FAILED [ 3%] tests/test_config.py::test_config_lines[mpl2005-True] SKIPPED (use -...) [ 3%] tests/test_config.py::test_config_lines[mpl2014-False] FAILED [ 3%] tests/test_config.py::test_config_lines[mpl2014-True] SKIPPED (use -...) [ 3%] tests/test_config.py::test_config_lines[serial-False] FAILED [ 3%] tests/test_config.py::test_config_lines[serial-True] SKIPPED (use --...) [ 3%] tests/test_config.py::test_config_lines[threaded-False] FAILED [ 3%] tests/test_config.py::test_config_lines[threaded-True] SKIPPED (use ...) [ 3%] tests/test_config.py::test_config_lines_quad_as_tri[serial-False] FAILED [ 3%] tests/test_config.py::test_config_lines_quad_as_tri[serial-True] SKIPPED [ 3%] tests/test_config.py::test_config_lines_quad_as_tri[threaded-False] FAILED [ 4%] tests/test_config.py::test_config_lines_quad_as_tri[threaded-True] SKIPPED [ 4%] tests/test_config.py::test_config_lines_corner[mpl2014-False] FAILED [ 4%] tests/test_config.py::test_config_lines_corner[mpl2014-True] SKIPPED [ 4%] tests/test_config.py::test_config_lines_corner[serial-False] FAILED [ 4%] tests/test_config.py::test_config_lines_corner[serial-True] SKIPPED [ 4%] tests/test_config.py::test_config_lines_corner[threaded-False] FAILED [ 4%] tests/test_config.py::test_config_lines_corner[threaded-True] SKIPPED [ 4%] tests/test_constructor.py::test_ndim_z[z0-mpl2005] PASSED [ 4%] tests/test_constructor.py::test_ndim_z[z0-mpl2014] PASSED [ 4%] tests/test_constructor.py::test_ndim_z[z0-serial] PASSED [ 4%] tests/test_constructor.py::test_ndim_z[z0-threaded] PASSED [ 4%] tests/test_constructor.py::test_ndim_z[z1-mpl2005] PASSED [ 4%] tests/test_constructor.py::test_ndim_z[z1-mpl2014] PASSED [ 4%] tests/test_constructor.py::test_ndim_z[z1-serial] PASSED [ 4%] tests/test_constructor.py::test_ndim_z[z1-threaded] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-mpl2005] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-mpl2014] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-serial] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-threaded] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-mpl2005] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-mpl2014] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-serial] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-threaded] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-mpl2005] PASSED [ 4%] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-mpl2014] PASSED [ 5%] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-serial] PASSED [ 5%] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-threaded] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[None-mpl2005] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[None-mpl2014] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[None-serial] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[None-threaded] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-mpl2005] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-mpl2014] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-serial] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-threaded] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-mpl2005] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-mpl2014] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-serial] PASSED [ 5%] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-threaded] PASSED [ 5%] tests/test_constructor.py::test_xy_None[mpl2005] PASSED [ 5%] tests/test_constructor.py::test_xy_None[mpl2014] PASSED [ 5%] tests/test_constructor.py::test_xy_None[serial] PASSED [ 5%] tests/test_constructor.py::test_xy_None[threaded] PASSED [ 5%] tests/test_constructor.py::test_xy_not_specified[mpl2005] PASSED [ 5%] tests/test_constructor.py::test_xy_not_specified[mpl2014] PASSED [ 5%] tests/test_constructor.py::test_xy_not_specified[serial] PASSED [ 5%] tests/test_constructor.py::test_xy_not_specified[threaded] PASSED [ 5%] tests/test_constructor.py::test_xy_1d[mpl2005] PASSED [ 5%] tests/test_constructor.py::test_xy_1d[mpl2014] PASSED [ 5%] tests/test_constructor.py::test_xy_1d[serial] PASSED [ 6%] tests/test_constructor.py::test_xy_1d[threaded] PASSED [ 6%] tests/test_constructor.py::test_xy_ndim_more_than_2[mpl2005] PASSED [ 6%] tests/test_constructor.py::test_xy_ndim_more_than_2[mpl2014] PASSED [ 6%] tests/test_constructor.py::test_xy_ndim_more_than_2[serial] PASSED [ 6%] tests/test_constructor.py::test_xy_ndim_more_than_2[threaded] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-mpl2005] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-mpl2014] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-serial] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-threaded] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-mpl2005] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-mpl2014] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-serial] PASSED [ 6%] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-threaded] PASSED [ 6%] tests/test_constructor.py::test_corner_mask[mpl2014] PASSED [ 6%] tests/test_constructor.py::test_corner_mask[serial] PASSED [ 6%] tests/test_constructor.py::test_corner_mask[threaded] PASSED [ 6%] tests/test_constructor.py::test_corner_mask_not_supported PASSED [ 6%] tests/test_constructor.py::test_chunk_size_negative[mpl2005] PASSED [ 6%] tests/test_constructor.py::test_chunk_size_negative[mpl2014] PASSED [ 6%] tests/test_constructor.py::test_chunk_size_negative[serial] PASSED [ 6%] tests/test_constructor.py::test_chunk_size_negative[threaded] PASSED [ 6%] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-mpl2005] PASSED [ 6%] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-mpl2014] PASSED [ 6%] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-serial] PASSED [ 6%] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-threaded] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-mpl2005] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-mpl2014] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-serial] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-threaded] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-mpl2005] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-mpl2014] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-serial] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-threaded] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-mpl2005] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-mpl2014] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-serial] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-threaded] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-mpl2005] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-mpl2014] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-serial] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-threaded] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-mpl2005] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-mpl2014] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-serial] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-threaded] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-mpl2005] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-mpl2014] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-serial] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-threaded] PASSED [ 7%] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-mpl2005] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-mpl2014] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-serial] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-threaded] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-mpl2005] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-mpl2014] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-serial] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-threaded] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-mpl2005] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-mpl2014] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-serial] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-threaded] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-mpl2005] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-mpl2014] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-serial] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-threaded] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-mpl2005] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-mpl2014] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-serial] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-threaded] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-mpl2005] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-mpl2014] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-serial] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-threaded] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-mpl2005] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-mpl2014] PASSED [ 8%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-serial] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-threaded] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-mpl2005] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-mpl2014] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-serial] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-threaded] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-mpl2005] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-mpl2014] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-serial] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-threaded] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-mpl2005] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-mpl2014] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-serial] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-threaded] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-mpl2005] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-mpl2014] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-serial] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-threaded] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-mpl2005] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-mpl2014] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-serial] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-threaded] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-mpl2005] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-mpl2014] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-serial] PASSED [ 9%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-threaded] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-mpl2005] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-mpl2014] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-serial] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-threaded] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-mpl2005] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-mpl2014] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-serial] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-threaded] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-mpl2005] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-mpl2014] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-serial] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-threaded] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-mpl2005] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-mpl2014] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-serial] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-threaded] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-mpl2005] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-mpl2014] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-serial] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-threaded] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-mpl2005] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-mpl2014] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-serial] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-threaded] PASSED [ 10%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-mpl2005] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-mpl2014] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-serial] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-threaded] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-mpl2005] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-mpl2014] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-serial] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-threaded] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-mpl2005] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-mpl2014] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-serial] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-threaded] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-mpl2005] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-mpl2014] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-serial] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-threaded] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-mpl2005] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-mpl2014] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-serial] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-threaded] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-mpl2005] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-mpl2014] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-serial] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-threaded] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-mpl2005] PASSED [ 11%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-mpl2014] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-serial] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-threaded] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-mpl2005] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-mpl2014] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-serial] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-threaded] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-mpl2005] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-mpl2014] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-serial] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-threaded] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-mpl2005] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-mpl2014] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-serial] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-threaded] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-mpl2005] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-mpl2014] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-serial] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-threaded] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-mpl2005] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-mpl2014] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-serial] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-threaded] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-mpl2005] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-mpl2014] PASSED [ 12%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-serial] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-threaded] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-mpl2005] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-mpl2014] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-serial] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-threaded] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-mpl2005] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-mpl2014] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-serial] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-threaded] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-mpl2005] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-mpl2014] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-serial] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-threaded] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-mpl2005] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-mpl2014] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-serial] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-threaded] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-mpl2005] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-mpl2014] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-serial] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-threaded] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-mpl2005] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-mpl2014] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-serial] PASSED [ 13%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-threaded] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-mpl2005] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-mpl2014] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-serial] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-threaded] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-mpl2005] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-mpl2014] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-serial] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-threaded] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-mpl2005] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-mpl2014] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-serial] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-threaded] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-mpl2005] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-mpl2014] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-serial] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-threaded] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-mpl2005] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-mpl2014] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-serial] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-threaded] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-mpl2005] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-mpl2014] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-serial] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-threaded] PASSED [ 14%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-mpl2005] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-mpl2014] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-serial] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-threaded] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-mpl2005] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-mpl2014] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-serial] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-threaded] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-mpl2005] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-mpl2014] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-serial] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-threaded] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-mpl2005] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-mpl2014] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-serial] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-threaded] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-mpl2005] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-mpl2014] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-serial] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-threaded] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-mpl2005] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-mpl2014] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-serial] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-threaded] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-mpl2005] PASSED [ 15%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-mpl2014] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-serial] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-threaded] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-mpl2005] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-mpl2014] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-serial] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-threaded] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-mpl2005] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-mpl2014] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-serial] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-threaded] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-mpl2005] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-mpl2014] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-serial] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-threaded] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-mpl2005] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-mpl2014] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-serial] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-threaded] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-mpl2005] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-mpl2014] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-serial] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-threaded] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-mpl2005] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-mpl2014] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-serial] PASSED [ 16%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-threaded] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-mpl2005] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-mpl2014] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-serial] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-threaded] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-mpl2005] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-mpl2014] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-serial] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-threaded] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-mpl2005] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-mpl2014] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-serial] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-threaded] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-mpl2005] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-mpl2014] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-serial] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-threaded] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-mpl2005] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-mpl2014] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-serial] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-threaded] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-mpl2005] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-mpl2014] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-serial] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-threaded] PASSED [ 17%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-mpl2005] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-mpl2014] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-serial] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-threaded] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-mpl2005] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-mpl2014] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-serial] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-threaded] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-mpl2005] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-mpl2014] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-serial] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-threaded] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-mpl2005] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-mpl2014] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-serial] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-threaded] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-mpl2005] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-mpl2014] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-serial] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-threaded] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-mpl2005] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-mpl2014] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-serial] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-threaded] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-mpl2005] PASSED [ 18%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-mpl2014] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-serial] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-threaded] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-mpl2005] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-mpl2014] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-serial] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-threaded] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-mpl2005] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-mpl2014] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-serial] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-threaded] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-mpl2005] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-mpl2014] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-serial] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-threaded] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-mpl2005] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-mpl2014] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-serial] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-threaded] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-mpl2005] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-mpl2014] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-serial] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-threaded] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-mpl2005] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-mpl2014] PASSED [ 19%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-serial] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-threaded] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-mpl2005] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-mpl2014] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-serial] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-threaded] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-mpl2005] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-mpl2014] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-serial] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-threaded] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-mpl2005] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-mpl2014] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-serial] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-threaded] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-mpl2005] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-mpl2014] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-serial] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-threaded] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-mpl2005] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-mpl2014] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-serial] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-threaded] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-mpl2005] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-mpl2014] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-serial] PASSED [ 20%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-threaded] PASSED [ 21%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-mpl2005] PASSED [ 21%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-mpl2014] PASSED [ 21%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-serial] PASSED [ 21%] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-threaded] PASSED [ 21%] tests/test_constructor.py::test_chunk_size_and_count PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-mpl2005] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-mpl2014] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-serial] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-threaded] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-mpl2005] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-mpl2014] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-serial] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-threaded] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-mpl2005] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-mpl2014] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-serial] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-threaded] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-mpl2005] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-mpl2014] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-serial] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-threaded] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-mpl2005] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-mpl2014] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-serial] PASSED [ 21%] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-threaded] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-mpl2005] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-mpl2014] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-serial] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-threaded] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-mpl2005] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-mpl2014] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-serial] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-threaded] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-mpl2005] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-mpl2014] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-serial] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-threaded] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-mpl2005] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-mpl2014] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-serial] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-threaded] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-mpl2005] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-mpl2014] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-serial] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-threaded] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-mpl2005] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-mpl2014] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-serial] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-threaded] PASSED [ 22%] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-mpl2005] PASSED [ 23%] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-mpl2014] PASSED [ 23%] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-serial] PASSED [ 23%] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-threaded] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-mpl2005] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-mpl2014] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-serial] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-threaded] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-mpl2005] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-mpl2014] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-serial] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-threaded] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-mpl2005] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-mpl2014] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-serial] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-threaded] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-mpl2005] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-mpl2014] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-serial] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-threaded] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-mpl2005] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-mpl2014] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-serial] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-threaded] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-mpl2005] PASSED [ 23%] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-serial] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-threaded] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-serial] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-threaded] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-serial] PASSED [ 24%] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-threaded] PASSED [ 24%] tests/test_constructor.py::test_name_invalid PASSED [ 24%] tests/test_constructor.py::test_line_type_not_supported[Separate-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_line_type_not_supported[Separate-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedCode-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedCode-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedOffset-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedOffset-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[OuterOffset-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[OuterOffset-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCode-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCode-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffset-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffset-mpl2014] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCodeOffset-mpl2005] PASSED [ 24%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCodeOffset-mpl2014] PASSED [ 25%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffsetOffset-mpl2005] PASSED [ 25%] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffsetOffset-mpl2014] PASSED [ 25%] tests/test_constructor.py::test_properties[mpl2005] PASSED [ 25%] tests/test_constructor.py::test_properties[mpl2014] PASSED [ 25%] tests/test_constructor.py::test_properties[serial] PASSED [ 25%] tests/test_constructor.py::test_properties[threaded] PASSED [ 25%] tests/test_constructor.py::test_quad_as_tri[serial] PASSED [ 25%] tests/test_constructor.py::test_quad_as_tri[threaded] PASSED [ 25%] tests/test_constructor.py::test_quad_as_tri_not_supported PASSED [ 25%] tests/test_constructor.py::test_thread_count[0-0] PASSED [ 25%] tests/test_constructor.py::test_thread_count[0-1] PASSED [ 25%] tests/test_constructor.py::test_thread_count[0-2] PASSED [ 25%] tests/test_constructor.py::test_thread_count[1-0] PASSED [ 25%] tests/test_constructor.py::test_thread_count[1-1] PASSED [ 25%] tests/test_constructor.py::test_thread_count[1-2] PASSED [ 25%] tests/test_constructor.py::test_thread_count[2-0] PASSED [ 25%] tests/test_constructor.py::test_thread_count[2-1] PASSED [ 25%] tests/test_constructor.py::test_thread_count[2-2] PASSED [ 25%] tests/test_constructor.py::test_thread_count_not_supported[mpl2005] PASSED [ 25%] tests/test_constructor.py::test_thread_count_not_supported[mpl2014] PASSED [ 25%] tests/test_constructor.py::test_thread_count_not_supported[serial] PASSED [ 25%] tests/test_constructor.py::test_enums_as_strings PASSED [ 25%] tests/test_constructor.py::test_is_contour_generator[mpl2005] PASSED [ 25%] tests/test_constructor.py::test_is_contour_generator[mpl2014] PASSED [ 25%] tests/test_constructor.py::test_is_contour_generator[serial] PASSED [ 25%] tests/test_constructor.py::test_is_contour_generator[threaded] PASSED [ 26%] tests/test_constructor.py::test_z_interp_none_to_linear[mpl2005] PASSED [ 26%] tests/test_constructor.py::test_z_interp_none_to_linear[mpl2014] PASSED [ 26%] tests/test_constructor.py::test_z_interp_none_to_linear[serial] PASSED [ 26%] tests/test_constructor.py::test_z_interp_none_to_linear[threaded] PASSED [ 26%] tests/test_constructor.py::test_z_interp_not_supported[mpl2005] PASSED [ 26%] tests/test_constructor.py::test_z_interp_not_supported[mpl2014] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterCode-OuterCode] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterCode-OuterOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedCode] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedCodeOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-OuterCode] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-OuterOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedCode] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-OuterCode] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-OuterOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 26%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-OuterCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-OuterOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-OuterCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterCode-OuterCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterCode-OuterOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedCodeOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-OuterCode] PASSED [ 27%] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-OuterOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-OuterCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-OuterOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-OuterCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-OuterOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-OuterCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 28%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterCode-OuterCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterCode-OuterOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedCodeOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-OuterCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-OuterOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-OuterCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-OuterOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-OuterCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-OuterOffset] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 29%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-OuterCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterCode-OuterCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterCode-OuterOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedCodeOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-OuterCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-OuterOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedCode] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedOffset] PASSED [ 30%] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-OuterCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-OuterOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-OuterCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-OuterOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-OuterCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 31%] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterCode-OuterCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterCode-OuterOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedCodeOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-OuterCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-OuterOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-OuterCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-OuterOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-OuterCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-OuterOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 32%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-OuterCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterCode-OuterCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterCode-OuterOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedCodeOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-OuterCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-OuterOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-OuterCode] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-OuterOffset] PASSED [ 33%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-OuterCode] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-OuterOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-OuterCode] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 34%] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 34%] tests/test_convert.py::test_convert_lines[False-0-Separate-Separate] PASSED [ 34%] tests/test_convert.py::test_convert_lines[False-0-Separate-SeparateCode] PASSED [ 34%] tests/test_convert.py::test_convert_lines[False-0-Separate-ChunkCombinedCode] PASSED [ 34%] tests/test_convert.py::test_convert_lines[False-0-Separate-ChunkCombinedOffset] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-Separate-ChunkCombinedNan] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-Separate] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-SeparateCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-ChunkCombinedCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-ChunkCombinedOffset] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-ChunkCombinedNan] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-Separate] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-SeparateCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-Separate] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-SeparateCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-Separate] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-SeparateCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-2-Separate-Separate] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-2-Separate-SeparateCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-2-Separate-ChunkCombinedCode] PASSED [ 35%] tests/test_convert.py::test_convert_lines[False-2-Separate-ChunkCombinedOffset] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-Separate-ChunkCombinedNan] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-Separate] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-SeparateCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-ChunkCombinedCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-ChunkCombinedOffset] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-ChunkCombinedNan] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-Separate] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-SeparateCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-Separate] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-SeparateCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-Separate] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-SeparateCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-3-Separate-Separate] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-3-Separate-SeparateCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-3-Separate-ChunkCombinedCode] PASSED [ 36%] tests/test_convert.py::test_convert_lines[False-3-Separate-ChunkCombinedOffset] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-Separate-ChunkCombinedNan] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-Separate] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-SeparateCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-ChunkCombinedCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-ChunkCombinedOffset] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-ChunkCombinedNan] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-Separate] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-SeparateCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-Separate] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-SeparateCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-Separate] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-SeparateCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 37%] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 37%] tests/test_convert.py::test_convert_lines[True-0-Separate-Separate] PASSED [ 37%] tests/test_convert.py::test_convert_lines[True-0-Separate-SeparateCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[True-0-Separate-ChunkCombinedCode] PASSED [ 37%] tests/test_convert.py::test_convert_lines[True-0-Separate-ChunkCombinedOffset] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-Separate-ChunkCombinedNan] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-Separate] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-SeparateCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-ChunkCombinedCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-ChunkCombinedOffset] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-ChunkCombinedNan] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-Separate] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-SeparateCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-Separate] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-SeparateCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-Separate] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-SeparateCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-2-Separate-Separate] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-2-Separate-SeparateCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-2-Separate-ChunkCombinedCode] PASSED [ 38%] tests/test_convert.py::test_convert_lines[True-2-Separate-ChunkCombinedOffset] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-Separate-ChunkCombinedNan] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-Separate] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-SeparateCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-ChunkCombinedCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-ChunkCombinedOffset] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-ChunkCombinedNan] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-Separate] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-SeparateCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-Separate] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-SeparateCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-Separate] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-SeparateCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-3-Separate-Separate] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-3-Separate-SeparateCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-3-Separate-ChunkCombinedCode] PASSED [ 39%] tests/test_convert.py::test_convert_lines[True-3-Separate-ChunkCombinedOffset] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-Separate-ChunkCombinedNan] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-Separate] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-SeparateCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-ChunkCombinedCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-ChunkCombinedOffset] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-ChunkCombinedNan] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-Separate] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-SeparateCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-Separate] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-SeparateCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-Separate] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-SeparateCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 40%] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 40%] tests/test_convert.py::test_convert_multi_filled[0-OuterCode-OuterCode] PASSED [ 40%] tests/test_convert.py::test_convert_multi_filled[0-OuterCode-OuterOffset] PASSED [ 40%] tests/test_convert.py::test_convert_multi_filled[0-OuterCode-ChunkCombinedCode] PASSED [ 40%] tests/test_convert.py::test_convert_multi_filled[0-OuterCode-ChunkCombinedOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterCode-ChunkCombinedCodeOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterOffset-OuterCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterOffset-OuterOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterOffset-ChunkCombinedCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterOffset-ChunkCombinedOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCode-OuterCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCode-OuterOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffset-OuterCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffset-OuterOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCodeOffset-OuterCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 41%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[0-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterCode-OuterCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterCode-OuterOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterCode-ChunkCombinedCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterCode-ChunkCombinedOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterCode-ChunkCombinedCodeOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterOffset-OuterCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterOffset-OuterOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterOffset-ChunkCombinedCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterOffset-ChunkCombinedOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCode-OuterCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCode-OuterOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 42%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffset-OuterCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffset-OuterOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCodeOffset-OuterCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_filled[2-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-Separate-Separate] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-Separate-SeparateCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-Separate-ChunkCombinedCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-Separate-ChunkCombinedOffset] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-Separate-ChunkCombinedNan] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-SeparateCode-Separate] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-SeparateCode-SeparateCode] PASSED [ 43%] tests/test_convert.py::test_convert_multi_lines[0-SeparateCode-ChunkCombinedCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-SeparateCode-ChunkCombinedOffset] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-SeparateCode-ChunkCombinedNan] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedCode-Separate] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedCode-SeparateCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedOffset-Separate] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedOffset-SeparateCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedNan-Separate] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedNan-SeparateCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[0-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-Separate-Separate] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-Separate-SeparateCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-Separate-ChunkCombinedCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-Separate-ChunkCombinedOffset] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-Separate-ChunkCombinedNan] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-SeparateCode-Separate] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-SeparateCode-SeparateCode] PASSED [ 44%] tests/test_convert.py::test_convert_multi_lines[2-SeparateCode-ChunkCombinedCode] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-SeparateCode-ChunkCombinedOffset] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-SeparateCode-ChunkCombinedNan] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedCode-Separate] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedCode-SeparateCode] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedOffset-Separate] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedOffset-SeparateCode] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedNan-Separate] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedNan-SeparateCode] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 45%] tests/test_convert.py::test_convert_multi_lines[2-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[0-OuterCode] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[0-OuterOffset] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedCode] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedOffset] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedCodeOffset] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedOffsetOffset] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[2-OuterCode] PASSED [ 45%] tests/test_dechunk.py::test_dechunk_filled[2-OuterOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedCodeOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedOffsetOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[0-OuterCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[0-OuterOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedCodeOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedOffsetOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[1-OuterCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[1-OuterOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedCodeOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedOffsetOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[0-Separate] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[0-SeparateCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[0-ChunkCombinedCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[0-ChunkCombinedOffset] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[0-ChunkCombinedNan] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[2-Separate] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[2-SeparateCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[2-ChunkCombinedCode] PASSED [ 46%] tests/test_dechunk.py::test_dechunk_lines[2-ChunkCombinedOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines[2-ChunkCombinedNan] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[0-Separate] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[0-SeparateCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[0-ChunkCombinedCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[0-ChunkCombinedOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[0-ChunkCombinedNan] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[1-Separate] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[1-SeparateCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[1-ChunkCombinedCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[1-ChunkCombinedOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_lines_empty[1-ChunkCombinedNan] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[0-OuterCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[0-OuterOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[0-ChunkCombinedCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[0-ChunkCombinedOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[0-ChunkCombinedCodeOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[0-ChunkCombinedOffsetOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[2-OuterCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[2-OuterOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[2-ChunkCombinedCode] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[2-ChunkCombinedOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[2-ChunkCombinedCodeOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_filled[2-ChunkCombinedOffsetOffset] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_lines[0-Separate] PASSED [ 47%] tests/test_dechunk.py::test_dechunk_multi_lines[0-SeparateCode] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[0-ChunkCombinedCode] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[0-ChunkCombinedOffset] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[0-ChunkCombinedNan] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[2-Separate] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[2-SeparateCode] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[2-ChunkCombinedCode] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[2-ChunkCombinedOffset] PASSED [ 48%] tests/test_dechunk.py::test_dechunk_multi_lines[2-ChunkCombinedNan] PASSED [ 48%] tests/test_enum.py::test_fill_type[OuterCode-201] PASSED [ 48%] tests/test_enum.py::test_fill_type[OuterOffset-202] PASSED [ 48%] tests/test_enum.py::test_fill_type[ChunkCombinedCode-203] PASSED [ 48%] tests/test_enum.py::test_fill_type[ChunkCombinedOffset-204] PASSED [ 48%] tests/test_enum.py::test_fill_type[ChunkCombinedCodeOffset-205] PASSED [ 48%] tests/test_enum.py::test_fill_type[ChunkCombinedOffsetOffset-206] PASSED [ 48%] tests/test_enum.py::test_line_type[Separate-101] PASSED [ 48%] tests/test_enum.py::test_line_type[SeparateCode-102] PASSED [ 48%] tests/test_enum.py::test_line_type[ChunkCombinedCode-103] PASSED [ 48%] tests/test_enum.py::test_line_type[ChunkCombinedOffset-104] PASSED [ 48%] tests/test_enum.py::test_line_type[ChunkCombinedNan-105] PASSED [ 48%] tests/test_enum.py::test_all_fill_types PASSED [ 48%] tests/test_enum.py::test_all_line_types PASSED [ 48%] tests/test_enum.py::test_all_z_interps PASSED [ 48%] tests/test_enum.py::test_string_to_enum[FillType-as_fill_type] PASSED [ 48%] tests/test_enum.py::test_string_to_enum[LineType-as_line_type] PASSED [ 48%] tests/test_enum.py::test_string_to_enum[ZInterp-as_z_interp] PASSED [ 49%] tests/test_filled.py::test_filled_decreasing_levels[mpl2005] PASSED [ 49%] tests/test_filled.py::test_filled_decreasing_levels[mpl2014] PASSED [ 49%] tests/test_filled.py::test_filled_decreasing_levels[serial] PASSED [ 49%] tests/test_filled.py::test_filled_decreasing_levels[threaded] PASSED [ 49%] tests/test_filled.py::test_filled_nan_levels[mpl2005] PASSED [ 49%] tests/test_filled.py::test_filled_nan_levels[mpl2014] PASSED [ 49%] tests/test_filled.py::test_filled_nan_levels[serial] PASSED [ 49%] tests/test_filled.py::test_filled_nan_levels[threaded] PASSED [ 49%] tests/test_filled.py::test_filled_identical_levels[mpl2005] PASSED [ 49%] tests/test_filled.py::test_filled_identical_levels[mpl2014] PASSED [ 49%] tests/test_filled.py::test_filled_identical_levels[serial] PASSED [ 49%] tests/test_filled.py::test_filled_identical_levels[threaded] PASSED [ 49%] tests/test_filled.py::test_filled_simple[mpl2005-OuterCode-False] FAILED [ 49%] tests/test_filled.py::test_filled_simple[mpl2005-OuterCode-True] FAILED [ 49%] tests/test_filled.py::test_filled_simple[mpl2014-OuterCode-False] FAILED [ 49%] tests/test_filled.py::test_filled_simple[mpl2014-OuterCode-True] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-OuterCode-False] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-OuterCode-True] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-OuterOffset-False] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-OuterOffset-True] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCode-False] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCode-True] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffset-False] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffset-True] FAILED [ 49%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCodeOffset-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCodeOffset-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffsetOffset-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffsetOffset-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-OuterCode-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-OuterCode-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-OuterOffset-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-OuterOffset-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCode-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCode-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffset-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffset-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCodeOffset-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCodeOffset-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffsetOffset-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffsetOffset-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[mpl2005-OuterCode-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[mpl2005-OuterCode-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[mpl2014-OuterCode-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[mpl2014-OuterCode-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[serial-OuterCode-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[serial-OuterCode-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[serial-OuterOffset-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[serial-OuterOffset-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCode-False] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCode-True] FAILED [ 50%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffset-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffset-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCodeOffset-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCodeOffset-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-OuterCode-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-OuterCode-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-OuterOffset-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-OuterOffset-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCode-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCode-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffset-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffset-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset-False] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset-True] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterCode] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterOffset] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCode] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffset] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterCode] FAILED [ 51%] tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2005-OuterCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2014-OuterCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCodeOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffsetOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCodeOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffsetOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2005-OuterCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2014-OuterCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 52%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterCode] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterCode] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterCode] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 53%] tests/test_filled.py::test_filled_simple_corner_mask[mpl2014] FAILED [ 53%] tests/test_filled.py::test_filled_simple_corner_mask[serial] FAILED [ 53%] tests/test_filled.py::test_filled_simple_corner_mask[threaded] FAILED [ 53%] tests/test_filled.py::test_filled_simple_corner_mask_chunk[mpl2014] FAILED [ 53%] tests/test_filled.py::test_filled_simple_corner_mask_chunk[serial] FAILED [ 53%] tests/test_filled.py::test_filled_simple_corner_mask_chunk[threaded] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterCode] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterCode] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 54%] tests/test_filled.py::test_filled_simple_quad_as_tri[serial] FAILED [ 54%] tests/test_filled.py::test_filled_simple_quad_as_tri[threaded] FAILED [ 54%] tests/test_filled.py::test_filled_random[mpl2005-OuterCode-False] FAILED [ 54%] tests/test_filled.py::test_filled_random[mpl2005-OuterCode-True] FAILED [ 54%] tests/test_filled.py::test_filled_random[mpl2014-OuterCode-False] FAILED [ 54%] tests/test_filled.py::test_filled_random[mpl2014-OuterCode-True] FAILED [ 54%] tests/test_filled.py::test_filled_random[serial-OuterCode-False] FAILED [ 54%] tests/test_filled.py::test_filled_random[serial-OuterCode-True] FAILED [ 54%] tests/test_filled.py::test_filled_random[serial-OuterOffset-False] FAILED [ 54%] tests/test_filled.py::test_filled_random[serial-OuterOffset-True] FAILED [ 54%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedCode-False] FAILED [ 54%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedCode-True] FAILED [ 54%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffset-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedCodeOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedCodeOffset-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffsetOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffsetOffset-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-OuterCode-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-OuterCode-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-OuterOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-OuterOffset-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCode-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCode-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffset-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCodeOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCodeOffset-True] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffsetOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffsetOffset-True] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[mpl2005-OuterCode-False] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[mpl2005-OuterCode-True] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[mpl2014-OuterCode-False] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[mpl2014-OuterCode-True] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[serial-OuterCode-False] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[serial-OuterCode-True] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[serial-OuterOffset-False] FAILED [ 55%] tests/test_filled.py::test_filled_random_chunk[serial-OuterOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCode-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCode-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffset-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCodeOffset-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCodeOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffsetOffset-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffsetOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-OuterCode-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-OuterCode-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-OuterOffset-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-OuterOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCode-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCode-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffset-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCodeOffset-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCodeOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset-False] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset-True] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk_threads[2-OuterCode] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk_threads[2-OuterOffset] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCode] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffset] FAILED [ 56%] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_chunk_threads[3-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_chunk_threads[3-OuterOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[mpl2005-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[mpl2014-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCodeOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffsetOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCodeOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffsetOffset] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2005-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2014-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterCode] FAILED [ 57%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterCode] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterCode] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterCode] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 58%] tests/test_filled.py::test_filled_random_corner_mask[mpl2014] FAILED [ 58%] tests/test_filled.py::test_filled_random_corner_mask[serial] FAILED [ 58%] tests/test_filled.py::test_filled_random_corner_mask[threaded] FAILED [ 58%] tests/test_filled.py::test_filled_random_corner_mask_chunk[mpl2014] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk[serial] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk[threaded] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterCode] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterCode] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 59%] tests/test_filled.py::test_filled_random_quad_as_tri[serial] FAILED [ 59%] tests/test_filled.py::test_filled_random_quad_as_tri[threaded] FAILED [ 59%] tests/test_filled.py::test_return_by_fill_type[serial-OuterCode] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[serial-OuterOffset] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedCode] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedOffset] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedCodeOffset] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedOffsetOffset] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[threaded-OuterCode] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[threaded-OuterOffset] PASSED [ 59%] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedCode] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedCodeOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedOffsetOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-OuterCode] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-OuterOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedCode] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedCodeOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedOffsetOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-OuterCode] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-OuterOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedCode] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedCodeOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedOffsetOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-OuterCode] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-OuterOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedCode] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedCodeOffset] PASSED [ 60%] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedOffsetOffset] PASSED [ 60%] tests/test_filled.py::test_filled_random_big[None-mpl2005-OuterCode] PASSED [ 60%] tests/test_filled.py::test_filled_random_big[None-mpl2014-OuterCode] PASSED [ 60%] tests/test_filled.py::test_filled_random_big[None-serial-OuterCode] PASSED [ 60%] tests/test_filled.py::test_filled_random_big[None-serial-OuterOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedCodeOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedOffsetOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-threaded-OuterCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-threaded-OuterOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedCodeOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedOffsetOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-mpl2005-OuterCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-mpl2014-OuterCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-serial-OuterCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-serial-OuterOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedCodeOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedOffsetOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-threaded-OuterCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-threaded-OuterOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedCode] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedCodeOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedOffsetOffset] PASSED [ 61%] tests/test_filled.py::test_filled_random_big[True-mpl2005-OuterCode] SKIPPED [ 62%] tests/test_filled.py::test_filled_random_big[True-mpl2014-OuterCode] SKIPPED [ 62%] tests/test_filled.py::test_filled_random_big[True-serial-OuterCode] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-serial-OuterOffset] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedCode] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedOffset] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedCodeOffset] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedOffsetOffset] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-threaded-OuterCode] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-threaded-OuterOffset] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedCode] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedOffset] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedCodeOffset] PASSED [ 62%] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedOffsetOffset] PASSED [ 62%] tests/test_filled.py::test_filled_compare_slow[seed0] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed1] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed2] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed3] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed4] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed5] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed6] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed7] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed8] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_compare_slow[seed9] SKIPPED (use -...) [ 62%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-mpl2005] PASSED [ 62%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-mpl2014] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-serial] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-threaded] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-mpl2005] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-mpl2014] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-serial] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-threaded] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-mpl2005] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-mpl2014] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-serial] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-threaded] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-mpl2005] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-mpl2014] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-serial] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-threaded] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-mpl2005] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-mpl2014] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-serial] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-threaded] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-mpl2005] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-mpl2014] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-serial] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-threaded] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-mpl2005] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-mpl2014] PASSED [ 63%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-serial] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-threaded] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-mpl2005] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-mpl2014] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-serial] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-threaded] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-mpl2005] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-mpl2014] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-serial] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-threaded] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-mpl2005] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-mpl2014] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-serial] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-threaded] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-mpl2005] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-mpl2014] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-serial] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-threaded] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-mpl2005] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-mpl2014] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-serial] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-threaded] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-mpl2005] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-mpl2014] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-serial] PASSED [ 64%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-threaded] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-mpl2005] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-mpl2014] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-serial] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-threaded] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-mpl2005] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-mpl2014] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-serial] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-threaded] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-mpl2005] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-mpl2014] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-serial] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-threaded] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-mpl2005] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-mpl2014] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-serial] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-threaded] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-mpl2005] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-mpl2014] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-serial] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-threaded] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-mpl2005] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-mpl2014] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-serial] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-threaded] PASSED [ 65%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-mpl2005] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-mpl2014] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-serial] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-threaded] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-mpl2005] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-mpl2014] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-serial] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-threaded] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-mpl2005] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-mpl2014] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-serial] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-threaded] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-mpl2005] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-mpl2014] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-serial] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-threaded] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-mpl2005] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-mpl2014] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-serial] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-threaded] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-mpl2005] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-mpl2014] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-serial] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-threaded] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-mpl2005] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-mpl2014] PASSED [ 66%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-serial] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-threaded] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-mpl2005] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-mpl2014] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-serial] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-threaded] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-mpl2005] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-mpl2014] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-serial] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-threaded] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-mpl2005] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-mpl2014] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-serial] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-threaded] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-mpl2005] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-mpl2014] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-serial] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-threaded] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-mpl2005] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-mpl2014] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-serial] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-threaded] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-mpl2005] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-mpl2014] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-serial] PASSED [ 67%] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-threaded] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-mpl2005] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-mpl2014] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-serial] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-threaded] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-mpl2005] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-mpl2014] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-serial] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-threaded] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-mpl2005] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-mpl2014] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-serial] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-threaded] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-mpl2005] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-mpl2014] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-serial] PASSED [ 68%] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-threaded] PASSED [ 68%] tests/test_filled.py::test_filled_infinite_level[mpl2005] PASSED [ 68%] tests/test_filled.py::test_filled_infinite_level[mpl2014] PASSED [ 68%] tests/test_filled.py::test_filled_infinite_level[serial] PASSED [ 68%] tests/test_filled.py::test_filled_infinite_level[threaded] PASSED [ 68%] tests/test_filled.py::test_multi_filled_invalid_levels[mpl2005-OuterCode] PASSED [ 68%] tests/test_filled.py::test_multi_filled_invalid_levels[mpl2014-OuterCode] PASSED [ 68%] tests/test_filled.py::test_multi_filled_invalid_levels[serial-OuterCode] PASSED [ 68%] tests/test_filled.py::test_multi_filled_invalid_levels[serial-OuterOffset] PASSED [ 68%] tests/test_filled.py::test_multi_filled_invalid_levels[serial-ChunkCombinedCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[serial-ChunkCombinedOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[serial-ChunkCombinedCodeOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[serial-ChunkCombinedOffsetOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[threaded-OuterCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[threaded-OuterOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[threaded-ChunkCombinedCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[threaded-ChunkCombinedOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[threaded-ChunkCombinedCodeOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_invalid_levels[threaded-ChunkCombinedOffsetOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-mpl2005-OuterCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-mpl2014-OuterCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-serial-OuterCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-serial-OuterOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-serial-ChunkCombinedCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-serial-ChunkCombinedOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-serial-ChunkCombinedCodeOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-serial-ChunkCombinedOffsetOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-threaded-OuterCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-threaded-OuterOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-threaded-ChunkCombinedCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-threaded-ChunkCombinedOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-threaded-ChunkCombinedCodeOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[None-threaded-ChunkCombinedOffsetOffset] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[False-mpl2005-OuterCode] PASSED [ 69%] tests/test_filled.py::test_multi_filled_levels_type[False-mpl2014-OuterCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-serial-OuterCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-serial-OuterOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-serial-ChunkCombinedCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-serial-ChunkCombinedOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-serial-ChunkCombinedCodeOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-serial-ChunkCombinedOffsetOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-threaded-OuterCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-threaded-OuterOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-threaded-ChunkCombinedCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-threaded-ChunkCombinedOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-threaded-ChunkCombinedCodeOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[False-threaded-ChunkCombinedOffsetOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-mpl2005-OuterCode] SKIPPED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-mpl2014-OuterCode] SKIPPED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-serial-OuterCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-serial-OuterOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-serial-ChunkCombinedCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-serial-ChunkCombinedOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-serial-ChunkCombinedCodeOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-serial-ChunkCombinedOffsetOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-threaded-OuterCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-threaded-OuterOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-threaded-ChunkCombinedCode] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-threaded-ChunkCombinedOffset] PASSED [ 70%] tests/test_filled.py::test_multi_filled_levels_type[True-threaded-ChunkCombinedCodeOffset] PASSED [ 71%] tests/test_filled.py::test_multi_filled_levels_type[True-threaded-ChunkCombinedOffsetOffset] PASSED [ 71%] tests/test_internal.py::test_default[Mpl2005ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_default[Mpl2014ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_default[SerialContourGenerator] PASSED [ 71%] tests/test_internal.py::test_default[ThreadedContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_ndim[Mpl2005ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_ndim[Mpl2014ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_ndim[SerialContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_ndim[ThreadedContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_shape[Mpl2005ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_shape[Mpl2014ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_shape[SerialContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xyz_shape[ThreadedContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xy_at_least_2x2[Mpl2005ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xy_at_least_2x2[Mpl2014ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xy_at_least_2x2[SerialContourGenerator] PASSED [ 71%] tests/test_internal.py::test_xy_at_least_2x2[ThreadedContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_2d[Mpl2005ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_2d[Mpl2014ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_2d[SerialContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_2d[ThreadedContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_shape[Mpl2005ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_shape[Mpl2014ContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_shape[SerialContourGenerator] PASSED [ 71%] tests/test_internal.py::test_mask_shape[ThreadedContourGenerator] PASSED [ 72%] tests/test_internal.py::test_chunk_size_not_negative[Mpl2005ContourGenerator] PASSED [ 72%] tests/test_internal.py::test_chunk_size_not_negative[Mpl2014ContourGenerator] PASSED [ 72%] tests/test_internal.py::test_chunk_size_not_negative[SerialContourGenerator] PASSED [ 72%] tests/test_internal.py::test_chunk_size_not_negative[ThreadedContourGenerator] PASSED [ 72%] tests/test_internal.py::test_log_z_not_negative[SerialContourGenerator] PASSED [ 72%] tests/test_internal.py::test_log_z_not_negative[ThreadedContourGenerator] PASSED [ 72%] tests/test_internal.py::test_write_cache[SerialContourGenerator] PASSED [ 72%] tests/test_internal.py::test_write_cache[ThreadedContourGenerator] PASSED [ 72%] tests/test_lines.py::test_level_outside[-1e-10-mpl2005] PASSED [ 72%] tests/test_lines.py::test_level_outside[-1e-10-mpl2014] PASSED [ 72%] tests/test_lines.py::test_level_outside[-1e-10-serial] PASSED [ 72%] tests/test_lines.py::test_level_outside[-1e-10-threaded] PASSED [ 72%] tests/test_lines.py::test_level_outside[10000000001.0-mpl2005] PASSED [ 72%] tests/test_lines.py::test_level_outside[10000000001.0-mpl2014] PASSED [ 72%] tests/test_lines.py::test_level_outside[10000000001.0-serial] PASSED [ 72%] tests/test_lines.py::test_level_outside[10000000001.0-threaded] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan0-mpl2005] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan0-mpl2014] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan0-serial] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan0-threaded] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan1-mpl2005] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan1-mpl2014] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan1-serial] PASSED [ 72%] tests/test_lines.py::test_level_outside[nan1-threaded] PASSED [ 72%] tests/test_lines.py::test_level_outside[inf-mpl2005] PASSED [ 73%] tests/test_lines.py::test_level_outside[inf-mpl2014] PASSED [ 73%] tests/test_lines.py::test_level_outside[inf-serial] PASSED [ 73%] tests/test_lines.py::test_level_outside[inf-threaded] PASSED [ 73%] tests/test_lines.py::test_level_outside[-inf-mpl2005] PASSED [ 73%] tests/test_lines.py::test_level_outside[-inf-mpl2014] PASSED [ 73%] tests/test_lines.py::test_level_outside[-inf-serial] PASSED [ 73%] tests/test_lines.py::test_level_outside[-inf-threaded] PASSED [ 73%] tests/test_lines.py::test_w_to_e[mpl2005] PASSED [ 73%] tests/test_lines.py::test_w_to_e[mpl2014] PASSED [ 73%] tests/test_lines.py::test_w_to_e[serial] PASSED [ 73%] tests/test_lines.py::test_w_to_e[threaded] PASSED [ 73%] tests/test_lines.py::test_e_to_w[mpl2005] PASSED [ 73%] tests/test_lines.py::test_e_to_w[mpl2014] PASSED [ 73%] tests/test_lines.py::test_e_to_w[serial] PASSED [ 73%] tests/test_lines.py::test_e_to_w[threaded] PASSED [ 73%] tests/test_lines.py::test_loop[mpl2005] PASSED [ 73%] tests/test_lines.py::test_loop[mpl2014] PASSED [ 73%] tests/test_lines.py::test_loop[serial] PASSED [ 73%] tests/test_lines.py::test_loop[threaded] PASSED [ 73%] tests/test_lines.py::test_lines_simple[mpl2005-SeparateCode-False] FAILED [ 73%] tests/test_lines.py::test_lines_simple[mpl2005-SeparateCode-True] FAILED [ 73%] tests/test_lines.py::test_lines_simple[mpl2014-SeparateCode-False] FAILED [ 73%] tests/test_lines.py::test_lines_simple[mpl2014-SeparateCode-True] FAILED [ 73%] tests/test_lines.py::test_lines_simple[serial-Separate-False] FAILED [ 73%] tests/test_lines.py::test_lines_simple[serial-Separate-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-SeparateCode-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-SeparateCode-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedCode-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedCode-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedOffset-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedOffset-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedNan-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedNan-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-Separate-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-Separate-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-SeparateCode-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-SeparateCode-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedCode-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedCode-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedOffset-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedOffset-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedNan-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedNan-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple_chunk[mpl2005-SeparateCode-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple_chunk[mpl2005-SeparateCode-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple_chunk[mpl2014-SeparateCode-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple_chunk[mpl2014-SeparateCode-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple_chunk[serial-Separate-False] FAILED [ 74%] tests/test_lines.py::test_lines_simple_chunk[serial-Separate-True] FAILED [ 74%] tests/test_lines.py::test_lines_simple_chunk[serial-SeparateCode-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[serial-SeparateCode-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedCode-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedCode-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedOffset-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedOffset-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedNan-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedNan-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-Separate-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-Separate-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-SeparateCode-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-SeparateCode-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedCode-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedCode-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedOffset-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedOffset-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedNan-False] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedNan-True] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[2-Separate] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[2-SeparateCode] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedCode] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedOffset] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedNan] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[3-Separate] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[3-SeparateCode] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedCode] FAILED [ 75%] tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedOffset] FAILED [ 76%] tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedNan] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2005-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2014-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-Separate] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedNan] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-Separate] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedNan] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2005-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2014-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-Separate] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedNan] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-Separate] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-SeparateCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 76%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedNan] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-Separate] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-Separate] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 77%] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask[mpl2014] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask[serial] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask[threaded] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk[mpl2014] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk[serial] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk[threaded] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-Separate] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-Separate] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 77%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 78%] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 78%] tests/test_lines.py::test_lines_simple_quad_as_tri[serial] FAILED [ 78%] tests/test_lines.py::test_lines_simple_quad_as_tri[threaded] FAILED [ 78%] tests/test_lines.py::test_lines_random[mpl2005-SeparateCode-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[mpl2005-SeparateCode-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[mpl2014-SeparateCode-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[mpl2014-SeparateCode-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-Separate-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-Separate-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-SeparateCode-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-SeparateCode-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-ChunkCombinedCode-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-ChunkCombinedCode-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-ChunkCombinedOffset-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-ChunkCombinedOffset-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-ChunkCombinedNan-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[serial-ChunkCombinedNan-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-Separate-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-Separate-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-SeparateCode-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-SeparateCode-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedCode-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedCode-True] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedOffset-False] FAILED [ 78%] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedOffset-True] FAILED [ 79%] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedNan-False] FAILED [ 79%] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedNan-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[mpl2005-SeparateCode-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[mpl2005-SeparateCode-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[mpl2014-SeparateCode-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[mpl2014-SeparateCode-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-Separate-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-Separate-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-SeparateCode-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-SeparateCode-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedCode-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedCode-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedOffset-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedOffset-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedNan-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedNan-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-Separate-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-Separate-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-SeparateCode-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-SeparateCode-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedCode-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedCode-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedOffset-False] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedOffset-True] FAILED [ 79%] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedNan-False] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedNan-True] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[2-Separate] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[2-SeparateCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedOffset] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedNan] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[3-Separate] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[3-SeparateCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedOffset] FAILED [ 80%] tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedNan] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[mpl2005-SeparateCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[mpl2014-SeparateCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[serial-Separate] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[serial-SeparateCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedNan] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-Separate] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-SeparateCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedNan] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2005-SeparateCode] FAILED [ 80%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2014-SeparateCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-Separate] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-SeparateCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedNan] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-Separate] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-SeparateCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedNan] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-Separate] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-Separate] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 81%] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 81%] tests/test_lines.py::test_lines_random_corner_mask[mpl2014] FAILED [ 81%] tests/test_lines.py::test_lines_random_corner_mask[serial] FAILED [ 81%] tests/test_lines.py::test_lines_random_corner_mask[threaded] FAILED [ 81%] tests/test_lines.py::test_lines_random_corner_mask_chunk[mpl2014] FAILED [ 81%] tests/test_lines.py::test_lines_random_corner_mask_chunk[serial] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk[threaded] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-Separate] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-Separate] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 82%] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 82%] tests/test_lines.py::test_lines_random_quad_as_tri[serial] FAILED [ 82%] tests/test_lines.py::test_lines_random_quad_as_tri[threaded] FAILED [ 82%] tests/test_lines.py::test_return_by_line_type[serial-Separate] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[serial-SeparateCode] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[serial-ChunkCombinedCode] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[serial-ChunkCombinedOffset] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[serial-ChunkCombinedNan] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[threaded-Separate] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[threaded-SeparateCode] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[threaded-ChunkCombinedCode] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[threaded-ChunkCombinedOffset] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type[threaded-ChunkCombinedNan] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-Separate] PASSED [ 82%] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-SeparateCode] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-ChunkCombinedCode] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-ChunkCombinedOffset] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-ChunkCombinedNan] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-Separate] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-SeparateCode] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-ChunkCombinedCode] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-ChunkCombinedOffset] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-ChunkCombinedNan] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-Separate] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-SeparateCode] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-ChunkCombinedCode] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-ChunkCombinedOffset] PASSED [ 83%] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-ChunkCombinedNan] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-mpl2005-SeparateCode] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-mpl2014-SeparateCode] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-serial-Separate] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-serial-SeparateCode] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-serial-ChunkCombinedCode] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-serial-ChunkCombinedOffset] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-serial-ChunkCombinedNan] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-threaded-Separate] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-threaded-SeparateCode] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-threaded-ChunkCombinedCode] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-threaded-ChunkCombinedOffset] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[None-threaded-ChunkCombinedNan] PASSED [ 83%] tests/test_lines.py::test_lines_random_big[False-mpl2005-SeparateCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-mpl2014-SeparateCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-serial-Separate] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-serial-SeparateCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-serial-ChunkCombinedCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-serial-ChunkCombinedOffset] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-serial-ChunkCombinedNan] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-threaded-Separate] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-threaded-SeparateCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-threaded-ChunkCombinedCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-threaded-ChunkCombinedOffset] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[False-threaded-ChunkCombinedNan] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-mpl2005-SeparateCode] SKIPPED [ 84%] tests/test_lines.py::test_lines_random_big[True-mpl2014-SeparateCode] SKIPPED [ 84%] tests/test_lines.py::test_lines_random_big[True-serial-Separate] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-serial-SeparateCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-serial-ChunkCombinedCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-serial-ChunkCombinedOffset] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-serial-ChunkCombinedNan] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-threaded-Separate] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-threaded-SeparateCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-threaded-ChunkCombinedCode] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-threaded-ChunkCombinedOffset] PASSED [ 84%] tests/test_lines.py::test_lines_random_big[True-threaded-ChunkCombinedNan] PASSED [ 84%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-mpl2005] PASSED [ 84%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-mpl2014] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-serial] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-threaded] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-mpl2005] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-mpl2014] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-serial] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-threaded] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-mpl2005] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-mpl2014] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-serial] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-threaded] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-mpl2005] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-mpl2014] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-serial] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-threaded] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-mpl2005] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-mpl2014] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-serial] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-threaded] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-mpl2005] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-mpl2014] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-serial] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-threaded] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-mpl2005] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-mpl2014] PASSED [ 85%] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-serial] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-threaded] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-mpl2005] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-mpl2014] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-serial] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-threaded] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-mpl2005] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-mpl2014] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-serial] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-threaded] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-mpl2005] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-mpl2014] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-serial] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-threaded] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-mpl2005] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-mpl2014] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-serial] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-threaded] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-mpl2005] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-mpl2014] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-serial] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-threaded] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-mpl2005] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-mpl2014] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-serial] PASSED [ 86%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-threaded] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-mpl2005] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-mpl2014] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-serial] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-threaded] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-mpl2005] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-mpl2014] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-serial] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-threaded] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-mpl2005] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-mpl2014] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-serial] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-threaded] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-mpl2005] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-mpl2014] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-serial] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-threaded] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-mpl2005] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-mpl2014] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-serial] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-threaded] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-mpl2005] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-mpl2014] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-serial] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-threaded] PASSED [ 87%] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-mpl2005] PASSED [ 88%] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-mpl2014] PASSED [ 88%] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-serial] PASSED [ 88%] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-threaded] PASSED [ 88%] tests/test_lines.py::test_lines_infinite_level[mpl2005] PASSED [ 88%] tests/test_lines.py::test_lines_infinite_level[mpl2014] PASSED [ 88%] tests/test_lines.py::test_lines_infinite_level[serial] PASSED [ 88%] tests/test_lines.py::test_lines_infinite_level[threaded] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[mpl2005-SeparateCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[mpl2014-SeparateCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[serial-Separate] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[serial-SeparateCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[serial-ChunkCombinedCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[serial-ChunkCombinedOffset] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[serial-ChunkCombinedNan] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[threaded-Separate] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[threaded-SeparateCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[threaded-ChunkCombinedCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[threaded-ChunkCombinedOffset] PASSED [ 88%] tests/test_lines.py::test_multi_lines_invalid_levels[threaded-ChunkCombinedNan] PASSED [ 88%] tests/test_lines.py::test_multi_lines_levels_type[None-mpl2005-SeparateCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_levels_type[None-mpl2014-SeparateCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_levels_type[None-serial-Separate] PASSED [ 88%] tests/test_lines.py::test_multi_lines_levels_type[None-serial-SeparateCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_levels_type[None-serial-ChunkCombinedCode] PASSED [ 88%] tests/test_lines.py::test_multi_lines_levels_type[None-serial-ChunkCombinedOffset] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[None-serial-ChunkCombinedNan] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[None-threaded-Separate] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[None-threaded-SeparateCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[None-threaded-ChunkCombinedCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[None-threaded-ChunkCombinedOffset] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[None-threaded-ChunkCombinedNan] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-mpl2005-SeparateCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-mpl2014-SeparateCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-serial-Separate] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-serial-SeparateCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-serial-ChunkCombinedCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-serial-ChunkCombinedOffset] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-serial-ChunkCombinedNan] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-threaded-Separate] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-threaded-SeparateCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-threaded-ChunkCombinedCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-threaded-ChunkCombinedOffset] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[False-threaded-ChunkCombinedNan] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[True-mpl2005-SeparateCode] SKIPPED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[True-mpl2014-SeparateCode] SKIPPED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[True-serial-Separate] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[True-serial-SeparateCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[True-serial-ChunkCombinedCode] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[True-serial-ChunkCombinedOffset] PASSED [ 89%] tests/test_lines.py::test_multi_lines_levels_type[True-serial-ChunkCombinedNan] PASSED [ 90%] tests/test_lines.py::test_multi_lines_levels_type[True-threaded-Separate] PASSED [ 90%] tests/test_lines.py::test_multi_lines_levels_type[True-threaded-SeparateCode] PASSED [ 90%] tests/test_lines.py::test_multi_lines_levels_type[True-threaded-ChunkCombinedCode] PASSED [ 90%] tests/test_lines.py::test_multi_lines_levels_type[True-threaded-ChunkCombinedOffset] PASSED [ 90%] tests/test_lines.py::test_multi_lines_levels_type[True-threaded-ChunkCombinedNan] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[mpl2005-SeparateCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[mpl2014-SeparateCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[serial-Separate] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[serial-SeparateCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[serial-ChunkCombinedCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[serial-ChunkCombinedOffset] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[serial-ChunkCombinedNan] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[threaded-Separate] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[threaded-SeparateCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[threaded-ChunkCombinedCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[threaded-ChunkCombinedOffset] PASSED [ 90%] tests/test_minimal.py::test_minimal_lines[threaded-ChunkCombinedNan] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[mpl2005-OuterCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[mpl2014-OuterCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[serial-OuterCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[serial-OuterOffset] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[serial-ChunkCombinedCode] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[serial-ChunkCombinedOffset] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[serial-ChunkCombinedCodeOffset] PASSED [ 90%] tests/test_minimal.py::test_minimal_filled[serial-ChunkCombinedOffsetOffset] PASSED [ 91%] tests/test_minimal.py::test_minimal_filled[threaded-OuterCode] PASSED [ 91%] tests/test_minimal.py::test_minimal_filled[threaded-OuterOffset] PASSED [ 91%] tests/test_minimal.py::test_minimal_filled[threaded-ChunkCombinedCode] PASSED [ 91%] tests/test_minimal.py::test_minimal_filled[threaded-ChunkCombinedOffset] PASSED [ 91%] tests/test_minimal.py::test_minimal_filled[threaded-ChunkCombinedCodeOffset] PASSED [ 91%] tests/test_minimal.py::test_minimal_filled[threaded-ChunkCombinedOffsetOffset] PASSED [ 91%] tests/test_misc.py::test_nan PASSED [ 91%] tests/test_misc.py::test_remove_z_mask PASSED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-OuterCode0-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-OuterCode0-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-OuterOffset-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-OuterOffset-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedCode-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedCode-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedOffset-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedOffset-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedCodeOffset-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedCodeOffset-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedOffsetOffset-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedOffsetOffset-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-OuterCode1-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[False-OuterCode1-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[True-OuterCode0-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[True-OuterCode0-True] SKIPPED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[True-OuterOffset-False] FAILED [ 91%] tests/test_renderer.py::test_debug_renderer_filled[True-OuterOffset-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedCode-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedCode-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedOffset-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedOffset-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedCodeOffset-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedCodeOffset-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedOffsetOffset-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedOffsetOffset-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-OuterCode1-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_filled[True-OuterCode1-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-Separate0-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-Separate0-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-SeparateCode-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-SeparateCode-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedCode-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedCode-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedOffset-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedOffset-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedNan-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedNan-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-Separate1-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[False-Separate1-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[True-Separate0-False] FAILED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[True-Separate0-True] SKIPPED [ 92%] tests/test_renderer.py::test_debug_renderer_lines[True-SeparateCode-False] FAILED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-SeparateCode-True] SKIPPED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedCode-False] FAILED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedCode-True] SKIPPED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedOffset-False] FAILED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedOffset-True] SKIPPED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedNan-False] FAILED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedNan-True] SKIPPED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-Separate1-False] FAILED [ 93%] tests/test_renderer.py::test_debug_renderer_lines[True-Separate1-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterCode0-False-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterCode0-False-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterCode0-True-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterCode0-True-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterOffset-False-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterOffset-False-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterOffset-True-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-OuterOffset-True-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCode-False-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCode-False-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCode-True-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCode-True-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffset-False-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffset-False-True] SKIPPED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffset-True-False] FAILED [ 93%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffset-True-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCodeOffset-False-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCodeOffset-False-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCodeOffset-True-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCodeOffset-True-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffsetOffset-False-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffsetOffset-False-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffsetOffset-True-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffsetOffset-True-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[False-OuterCode1-False-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[False-OuterCode1-False-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[False-OuterCode1-True-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[False-OuterCode1-True-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterCode0-False-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterCode0-False-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterCode0-True-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterCode0-True-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterOffset-False-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterOffset-False-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterOffset-True-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[True-OuterOffset-True-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCode-False-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCode-False-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCode-True-False] FAILED [ 94%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCode-True-True] SKIPPED [ 94%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffset-False-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffset-False-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffset-True-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffset-True-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCodeOffset-False-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCodeOffset-False-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCodeOffset-True-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCodeOffset-True-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffsetOffset-False-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffsetOffset-False-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffsetOffset-True-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffsetOffset-True-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_filled[True-OuterCode1-False-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-OuterCode1-False-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_filled[True-OuterCode1-True-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_filled[True-OuterCode1-True-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_lines[False-Separate0-False-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_lines[False-Separate0-False-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_lines[False-Separate0-True-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_lines[False-Separate0-True-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_lines[False-SeparateCode-False-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_lines[False-SeparateCode-False-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_lines[False-SeparateCode-True-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_lines[False-SeparateCode-True-True] SKIPPED [ 95%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedCode-False-False] FAILED [ 95%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedCode-False-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedCode-True-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedCode-True-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedOffset-False-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedOffset-False-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedOffset-True-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedOffset-True-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedNan-False-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedNan-False-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedNan-True-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedNan-True-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[False-Separate1-False-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[False-Separate1-False-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[False-Separate1-True-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[False-Separate1-True-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[True-Separate0-False-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[True-Separate0-False-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[True-Separate0-True-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[True-Separate0-True-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[True-SeparateCode-False-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[True-SeparateCode-False-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[True-SeparateCode-True-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[True-SeparateCode-True-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedCode-False-False] FAILED [ 96%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedCode-False-True] SKIPPED [ 96%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedCode-True-False] FAILED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedCode-True-True] SKIPPED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedOffset-False-False] FAILED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedOffset-False-True] SKIPPED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedOffset-True-False] FAILED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedOffset-True-True] SKIPPED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedNan-False-False] FAILED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedNan-False-True] SKIPPED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedNan-True-False] FAILED [ 97%] tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedNan-True-True] SKIPPED [ 97%] tests/test_renderer.py::test_renderer_lines[True-Separate1-False-False] FAILED [ 97%] tests/test_renderer.py::test_renderer_lines[True-Separate1-False-True] SKIPPED [ 97%] tests/test_renderer.py::test_renderer_lines[True-Separate1-True-False] FAILED [ 97%] tests/test_renderer.py::test_renderer_lines[True-Separate1-True-True] SKIPPED [ 97%] tests/test_renderer.py::test_save_png[False] FAILED [ 97%] tests/test_renderer.py::test_save_png[True] FAILED [ 97%] tests/test_renderer.py::test_save_svg[False] FAILED [ 97%] tests/test_renderer.py::test_save_svg[True] FAILED [ 97%] tests/test_static.py::test_default_fill_type[Mpl2005ContourGenerator] PASSED [ 97%] tests/test_static.py::test_default_fill_type[Mpl2014ContourGenerator] PASSED [ 97%] tests/test_static.py::test_default_fill_type[SerialContourGenerator] PASSED [ 97%] tests/test_static.py::test_default_fill_type[ThreadedContourGenerator] PASSED [ 97%] tests/test_static.py::test_default_line_type[Mpl2005ContourGenerator] PASSED [ 97%] tests/test_static.py::test_default_line_type[Mpl2014ContourGenerator] PASSED [ 97%] tests/test_static.py::test_default_line_type[SerialContourGenerator] PASSED [ 97%] tests/test_static.py::test_default_line_type[ThreadedContourGenerator] PASSED [ 98%] tests/test_static.py::test_has_lines_and_filled[Mpl2005ContourGenerator] PASSED [ 98%] tests/test_static.py::test_has_lines_and_filled[Mpl2014ContourGenerator] PASSED [ 98%] tests/test_static.py::test_has_lines_and_filled[SerialContourGenerator] PASSED [ 98%] tests/test_static.py::test_has_lines_and_filled[ThreadedContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_corner_mask[Mpl2005ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_corner_mask[Mpl2014ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_corner_mask[SerialContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_corner_mask[ThreadedContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_fill_type[Mpl2005ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_fill_type[Mpl2014ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_fill_type[SerialContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_fill_type[ThreadedContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_line_type[Mpl2005ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_line_type[Mpl2014ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_line_type[SerialContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_line_type[ThreadedContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_quad_as_tri[Mpl2005ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_quad_as_tri[Mpl2014ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_quad_as_tri[SerialContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_quad_as_tri[ThreadedContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_threads[Mpl2005ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_threads[Mpl2014ContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_threads[SerialContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_threads[ThreadedContourGenerator] PASSED [ 98%] tests/test_static.py::test_supports_z_interp[Mpl2005ContourGenerator] PASSED [ 99%] tests/test_static.py::test_supports_z_interp[Mpl2014ContourGenerator] PASSED [ 99%] tests/test_static.py::test_supports_z_interp[SerialContourGenerator] PASSED [ 99%] tests/test_static.py::test_supports_z_interp[ThreadedContourGenerator] PASSED [ 99%] tests/test_typecheck.py::test_check_code_array PASSED [ 99%] tests/test_typecheck.py::test_check_offset_array PASSED [ 99%] tests/test_typecheck.py::test_check_point_array PASSED [ 99%] tests/test_typecheck.py::test_check_filled_OuterCode PASSED [ 99%] tests/test_typecheck.py::test_check_filled_OuterOffset PASSED [ 99%] tests/test_typecheck.py::test_check_filled_ChunkCombinedCode PASSED [ 99%] tests/test_typecheck.py::test_check_filled_ChunkCombinedOffset PASSED [ 99%] tests/test_typecheck.py::test_check_filled_ChunkCombinedCodeOffset PASSED [ 99%] tests/test_typecheck.py::test_check_filled_ChunkCombinedOffsetOffset PASSED [ 99%] tests/test_typecheck.py::test_check_lines_Separate PASSED [ 99%] tests/test_typecheck.py::test_check_lines_SeparateCode PASSED [ 99%] tests/test_typecheck.py::test_check_lines_ChunkCombinedCode PASSED [ 99%] tests/test_typecheck.py::test_check_lines_ChunkCombinedOffset PASSED [ 99%] tests/test_typecheck.py::test_check_lines_ChunkCombinedNan PASSED [ 99%] tests/test_z_interp.py::test_z_interp_log[False-serial] PASSED [ 99%] tests/test_z_interp.py::test_z_interp_log[False-threaded] PASSED [ 99%] tests/test_z_interp.py::test_z_interp_log[True-serial] PASSED [ 99%] tests/test_z_interp.py::test_z_interp_log[True-threaded] PASSED [ 99%] tests/test_z_interp.py::test_z_interp_log_saddle[serial] PASSED [ 99%] tests/test_z_interp.py::test_z_interp_log_saddle[threaded] PASSED [ 99%] tests/test_z_interp.py::test_z_interp_negative[serial] PASSED [ 99%] tests/test_z_interp.py::test_z_interp_negative[threaded] PASSED [100%] =================================== FAILURES =================================== ______________________ test_config_filled[mpl2005-False] _______________________ show_text = False, name = 'mpl2005' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_filled(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:26: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 26, in test_config_filled from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________________ test_config_filled[mpl2014-False] _______________________ show_text = False, name = 'mpl2014' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_filled(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:26: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 26, in test_config_filled from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________________ test_config_filled[serial-False] _______________________ show_text = False, name = 'serial' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_filled(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:26: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 26, in test_config_filled from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________________ test_config_filled[threaded-False] ______________________ show_text = False, name = 'threaded' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_filled(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:26: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 26, in test_config_filled from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_config_filled_quad_as_tri[serial-False] _________________ show_text = False, name = 'serial' @pytest.mark.image @pytest.mark.text @pytest.mark.flaky(reruns=1, condition=platform.python_implementation().startswith("PyPy")) @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_config_filled_quad_as_tri(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:42: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 42, in test_config_filled_quad_as_tri from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_config_filled_quad_as_tri[threaded-False] ________________ show_text = False, name = 'threaded' @pytest.mark.image @pytest.mark.text @pytest.mark.flaky(reruns=1, condition=platform.python_implementation().startswith("PyPy")) @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_config_filled_quad_as_tri(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:42: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 42, in test_config_filled_quad_as_tri from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_config_filled_corner[mpl2014-False] ___________________ show_text = False, name = 'mpl2014' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_config_filled_corner(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 57, in test_config_filled_corner from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_config_filled_corner[serial-False] ____________________ show_text = False, name = 'serial' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_config_filled_corner(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 57, in test_config_filled_corner from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_config_filled_corner[threaded-False] ___________________ show_text = False, name = 'threaded' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_config_filled_corner(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 57, in test_config_filled_corner from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________________ test_config_lines[mpl2005-False] _______________________ show_text = False, name = 'mpl2005' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_lines(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 72, in test_config_lines from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________________ test_config_lines[mpl2014-False] _______________________ show_text = False, name = 'mpl2014' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_lines(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 72, in test_config_lines from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________________ test_config_lines[serial-False] ________________________ show_text = False, name = 'serial' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_lines(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 72, in test_config_lines from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________________ test_config_lines[threaded-False] _______________________ show_text = False, name = 'threaded' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.all_names()) def test_config_lines(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 72, in test_config_lines from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_config_lines_quad_as_tri[serial-False] __________________ show_text = False, name = 'serial' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_config_lines_quad_as_tri(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 89, in test_config_lines_quad_as_tri from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_config_lines_quad_as_tri[threaded-False] _________________ show_text = False, name = 'threaded' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_config_lines_quad_as_tri(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 89, in test_config_lines_quad_as_tri from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_config_lines_corner[mpl2014-False] ____________________ show_text = False, name = 'mpl2014' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_config_lines_corner(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 104, in test_config_lines_corner from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_config_lines_corner[serial-False] ____________________ show_text = False, name = 'serial' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_config_lines_corner(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 104, in test_config_lines_corner from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_config_lines_corner[threaded-False] ___________________ show_text = False, name = 'threaded' @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_config_lines_corner(show_text: bool, name: str) -> None: > from . import util_config tests/test_config.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/util_config.py:8: in import matplotlib.pyplot as plt /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_config.py", line 104, in test_config_lines_corner from . import util_config File "/build/python-contourpy/src/contourpy/tests/util_config.py", line 8, in import matplotlib.pyplot as plt File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_simple[mpl2005-OuterCode-False] __________________ name = 'mpl2005', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_simple[mpl2005-OuterCode-True] __________________ name = 'mpl2005', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_simple[mpl2014-OuterCode-False] __________________ name = 'mpl2014', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_simple[mpl2014-OuterCode-True] __________________ name = 'mpl2014', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_simple[serial-OuterCode-False] __________________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_simple[serial-OuterCode-True] ___________________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_simple[serial-OuterOffset-False] _________________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_simple[serial-OuterOffset-True] __________________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple[serial-ChunkCombinedCode-False] ______________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple[serial-ChunkCombinedCode-True] _______________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple[serial-ChunkCombinedOffset-False] _____________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple[serial-ChunkCombinedOffset-True] ______________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_simple[serial-ChunkCombinedCodeOffset-False] ___________ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_simple[serial-ChunkCombinedCodeOffset-True] ____________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple[serial-ChunkCombinedOffsetOffset-False] __________ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple[serial-ChunkCombinedOffsetOffset-True] ___________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_simple[threaded-OuterCode-False] _________________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_simple[threaded-OuterCode-True] __________________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_simple[threaded-OuterOffset-False] ________________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_simple[threaded-OuterOffset-True] _________________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple[threaded-ChunkCombinedCode-False] _____________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple[threaded-ChunkCombinedCode-True] ______________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_simple[threaded-ChunkCombinedOffset-False] ____________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_simple[threaded-ChunkCombinedOffset-True] _____________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple[threaded-ChunkCombinedCodeOffset-False] __________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple[threaded-ChunkCombinedCodeOffset-True] ___________ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple[threaded-ChunkCombinedOffsetOffset-False] _________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple[threaded-ChunkCombinedOffsetOffset-True] __________ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 69, in test_filled_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple_chunk[mpl2005-OuterCode-False] _______________ name = 'mpl2005', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_simple_chunk[mpl2005-OuterCode-True] _______________ name = 'mpl2005', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple_chunk[mpl2014-OuterCode-False] _______________ name = 'mpl2014', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_simple_chunk[mpl2014-OuterCode-True] _______________ name = 'mpl2014', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_simple_chunk[serial-OuterCode-False] _______________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_simple_chunk[serial-OuterCode-True] ________________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple_chunk[serial-OuterOffset-False] ______________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple_chunk[serial-OuterOffset-True] _______________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_simple_chunk[serial-ChunkCombinedCode-False] ___________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_simple_chunk[serial-ChunkCombinedCode-True] ____________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_chunk[serial-ChunkCombinedOffset-False] __________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_chunk[serial-ChunkCombinedOffset-True] ___________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_chunk[serial-ChunkCombinedCodeOffset-False] ________ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_chunk[serial-ChunkCombinedCodeOffset-True] _________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset-False] _______ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset-True] ________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple_chunk[threaded-OuterCode-False] ______________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_simple_chunk[threaded-OuterCode-True] _______________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple_chunk[threaded-OuterOffset-False] _____________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple_chunk[threaded-OuterOffset-True] ______________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_chunk[threaded-ChunkCombinedCode-False] __________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_chunk[threaded-ChunkCombinedCode-True] ___________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_chunk[threaded-ChunkCombinedOffset-False] _________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_chunk[threaded-ChunkCombinedOffset-True] __________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset-False] _______ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset-True] ________ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset-False] ______ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset-True] _______ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 97, in test_filled_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_simple_chunk_threads[2-OuterCode] _________________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_simple_chunk_threads[2-OuterOffset] ________________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_simple_chunk_threads[2-ChunkCombinedCode] _____________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_simple_chunk_threads[2-ChunkCombinedOffset] ____________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_chunk_threads[2-ChunkCombinedCodeOffset] __________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_chunk_threads[2-ChunkCombinedOffsetOffset] _________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_simple_chunk_threads[3-OuterCode] _________________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_simple_chunk_threads[3-OuterOffset] ________________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_simple_chunk_threads[3-ChunkCombinedCode] _____________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_simple_chunk_threads[3-ChunkCombinedOffset] ____________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_chunk_threads[3-ChunkCombinedCodeOffset] __________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_chunk_threads[3-ChunkCombinedOffsetOffset] _________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:129: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 129, in test_filled_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple_no_corner_mask[mpl2005-OuterCode] _____________ name = 'mpl2005', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple_no_corner_mask[mpl2014-OuterCode] _____________ name = 'mpl2014', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_simple_no_corner_mask[serial-OuterCode] ______________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_simple_no_corner_mask[serial-OuterOffset] _____________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_no_corner_mask[serial-ChunkCombinedCode] __________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_no_corner_mask[serial-ChunkCombinedOffset] _________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_simple_no_corner_mask[serial-ChunkCombinedCodeOffset] _______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_no_corner_mask[serial-ChunkCombinedOffsetOffset] ______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_simple_no_corner_mask[threaded-OuterCode] _____________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_simple_no_corner_mask[threaded-OuterOffset] ____________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_no_corner_mask[threaded-ChunkCombinedCode] _________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffset] ________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_no_corner_mask[threaded-ChunkCombinedCodeOffset] ______ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffsetOffset] _____ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_no_corner_mask_chunk[mpl2005-OuterCode] __________ name = 'mpl2005', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_no_corner_mask_chunk[mpl2014-OuterCode] __________ name = 'mpl2014', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_no_corner_mask_chunk[serial-OuterCode] ___________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_no_corner_mask_chunk[serial-OuterOffset] __________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] _______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] ____ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] ___ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_no_corner_mask_chunk[threaded-OuterCode] __________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_no_corner_mask_chunk[threaded-OuterOffset] _________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] ___ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] __ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 177, in test_filled_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_no_corner_mask_chunk_threads[2-OuterCode] _________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_no_corner_mask_chunk_threads[2-OuterOffset] ________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] _____ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] ____ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] __ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] _ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_no_corner_mask_chunk_threads[3-OuterCode] _________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_simple_no_corner_mask_chunk_threads[3-OuterOffset] ________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] _____ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] ____ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] __ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] _ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 206, in test_filled_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_filled_simple_corner_mask[mpl2014] ____________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_simple_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:234: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 234, in test_filled_simple_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_filled_simple_corner_mask[serial] ____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_simple_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:234: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 234, in test_filled_simple_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_filled_simple_corner_mask[threaded] ___________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_simple_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:234: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 234, in test_filled_simple_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_simple_corner_mask_chunk[mpl2014] _________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_simple_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 257, in test_filled_simple_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_simple_corner_mask_chunk[serial] _________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_simple_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 257, in test_filled_simple_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_simple_corner_mask_chunk[threaded] ________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_simple_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 257, in test_filled_simple_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_corner_mask_chunk_threads[2-OuterCode] ___________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_corner_mask_chunk_threads[2-OuterOffset] __________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] _______ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] ____ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] ___ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_simple_corner_mask_chunk_threads[3-OuterCode] ___________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_simple_corner_mask_chunk_threads[3-OuterOffset] __________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] _______ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] ____ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] ___ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 287, in test_filled_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_filled_simple_quad_as_tri[serial] ____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_filled_simple_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:316: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 316, in test_filled_simple_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_filled_simple_quad_as_tri[threaded] ___________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_filled_simple_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:316: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 316, in test_filled_simple_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_random[mpl2005-OuterCode-False] __________________ name = 'mpl2005', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_random[mpl2005-OuterCode-True] __________________ name = 'mpl2005', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_random[mpl2014-OuterCode-False] __________________ name = 'mpl2014', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_random[mpl2014-OuterCode-True] __________________ name = 'mpl2014', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_random[serial-OuterCode-False] __________________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_filled_random[serial-OuterCode-True] ___________________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_random[serial-OuterOffset-False] _________________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_random[serial-OuterOffset-True] __________________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random[serial-ChunkCombinedCode-False] ______________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random[serial-ChunkCombinedCode-True] _______________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random[serial-ChunkCombinedOffset-False] _____________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random[serial-ChunkCombinedOffset-True] ______________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_random[serial-ChunkCombinedCodeOffset-False] ___________ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_random[serial-ChunkCombinedCodeOffset-True] ____________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random[serial-ChunkCombinedOffsetOffset-False] __________ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random[serial-ChunkCombinedOffsetOffset-True] ___________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_random[threaded-OuterCode-False] _________________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_random[threaded-OuterCode-True] __________________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_random[threaded-OuterOffset-False] ________________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_random[threaded-OuterOffset-True] _________________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random[threaded-ChunkCombinedCode-False] _____________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random[threaded-ChunkCombinedCode-True] ______________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_random[threaded-ChunkCombinedOffset-False] ____________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_random[threaded-ChunkCombinedOffset-True] _____________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random[threaded-ChunkCombinedCodeOffset-False] __________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random[threaded-ChunkCombinedCodeOffset-True] ___________ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random[threaded-ChunkCombinedOffsetOffset-False] _________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random[threaded-ChunkCombinedOffsetOffset-True] __________ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 340, in test_filled_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random_chunk[mpl2005-OuterCode-False] _______________ name = 'mpl2005', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_random_chunk[mpl2005-OuterCode-True] _______________ name = 'mpl2005', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random_chunk[mpl2014-OuterCode-False] _______________ name = 'mpl2014', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_random_chunk[mpl2014-OuterCode-True] _______________ name = 'mpl2014', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_random_chunk[serial-OuterCode-False] _______________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_random_chunk[serial-OuterCode-True] ________________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random_chunk[serial-OuterOffset-False] ______________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random_chunk[serial-OuterOffset-True] _______________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_random_chunk[serial-ChunkCombinedCode-False] ___________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_random_chunk[serial-ChunkCombinedCode-True] ____________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_chunk[serial-ChunkCombinedOffset-False] __________ name = 'serial', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_chunk[serial-ChunkCombinedOffset-True] ___________ name = 'serial', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_chunk[serial-ChunkCombinedCodeOffset-False] ________ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_chunk[serial-ChunkCombinedCodeOffset-True] _________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_random_chunk[serial-ChunkCombinedOffsetOffset-False] _______ name = 'serial', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_random_chunk[serial-ChunkCombinedOffsetOffset-True] ________ name = 'serial', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random_chunk[threaded-OuterCode-False] ______________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_filled_random_chunk[threaded-OuterCode-True] _______________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random_chunk[threaded-OuterOffset-False] _____________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random_chunk[threaded-OuterOffset-True] ______________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_chunk[threaded-ChunkCombinedCode-False] __________ name = 'threaded', fill_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_chunk[threaded-ChunkCombinedCode-True] ___________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_chunk[threaded-ChunkCombinedOffset-False] _________ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_chunk[threaded-ChunkCombinedOffset-True] __________ name = 'threaded', fill_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_random_chunk[threaded-ChunkCombinedCodeOffset-False] _______ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_random_chunk[threaded-ChunkCombinedCodeOffset-True] ________ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset-False] ______ name = 'threaded', fill_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset-True] _______ name = 'threaded', fill_type = multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_chunk(name: str, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:368: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 368, in test_filled_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_random_chunk_threads[2-OuterCode] _________________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_random_chunk_threads[2-OuterOffset] ________________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_random_chunk_threads[2-ChunkCombinedCode] _____________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_random_chunk_threads[2-ChunkCombinedOffset] ____________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_chunk_threads[2-ChunkCombinedCodeOffset] __________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_chunk_threads[2-ChunkCombinedOffsetOffset] _________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_random_chunk_threads[3-OuterCode] _________________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_filled_random_chunk_threads[3-OuterOffset] ________________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_random_chunk_threads[3-ChunkCombinedCode] _____________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_random_chunk_threads[3-ChunkCombinedOffset] ____________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_chunk_threads[3-ChunkCombinedCodeOffset] __________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_chunk_threads[3-ChunkCombinedOffsetOffset] _________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 414, in test_filled_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random_no_corner_mask[mpl2005-OuterCode] _____________ name = 'mpl2005', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random_no_corner_mask[mpl2014-OuterCode] _____________ name = 'mpl2014', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_filled_random_no_corner_mask[serial-OuterCode] ______________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_random_no_corner_mask[serial-OuterOffset] _____________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_no_corner_mask[serial-ChunkCombinedCode] __________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_no_corner_mask[serial-ChunkCombinedOffset] _________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_random_no_corner_mask[serial-ChunkCombinedCodeOffset] _______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_no_corner_mask[serial-ChunkCombinedOffsetOffset] ______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_filled_random_no_corner_mask[threaded-OuterCode] _____________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_filled_random_no_corner_mask[threaded-OuterOffset] ____________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_no_corner_mask[threaded-ChunkCombinedCode] _________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_filled_random_no_corner_mask[threaded-ChunkCombinedOffset] ________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_no_corner_mask[threaded-ChunkCombinedCodeOffset] ______ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_random_no_corner_mask[threaded-ChunkCombinedOffsetOffset] _____ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 448, in test_filled_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_no_corner_mask_chunk[mpl2005-OuterCode] __________ name = 'mpl2005', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_no_corner_mask_chunk[mpl2014-OuterCode] __________ name = 'mpl2014', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_no_corner_mask_chunk[serial-OuterCode] ___________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_no_corner_mask_chunk[serial-OuterOffset] __________ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCode] _______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] ____ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] ___ name = 'serial', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_no_corner_mask_chunk[threaded-OuterCode] __________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_no_corner_mask_chunk[threaded-OuterOffset] _________ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] ___ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] __ name = 'threaded', fill_type = @pytest.mark.image @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types()) def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:470: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 470, in test_filled_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_no_corner_mask_chunk_threads[2-OuterCode] _________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_no_corner_mask_chunk_threads[2-OuterOffset] ________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] _____ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] ____ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] __ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] _ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_no_corner_mask_chunk_threads[3-OuterCode] _________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_filled_random_no_corner_mask_chunk_threads[3-OuterOffset] ________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] _____ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] ____ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] __ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] _ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:512: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 512, in test_filled_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_filled_random_corner_mask[mpl2014] ____________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_random_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:547: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 547, in test_filled_random_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_filled_random_corner_mask[serial] ____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_random_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:547: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 547, in test_filled_random_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_filled_random_corner_mask[threaded] ___________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_random_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:547: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 547, in test_filled_random_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_random_corner_mask_chunk[mpl2014] _________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_random_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:570: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 570, in test_filled_random_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_filled_random_corner_mask_chunk[serial] _________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_random_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:570: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 570, in test_filled_random_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_filled_random_corner_mask_chunk[threaded] ________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_filled_random_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:570: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 570, in test_filled_random_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_corner_mask_chunk_threads[2-OuterCode] ___________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_corner_mask_chunk_threads[2-OuterOffset] __________ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCode] _______ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] ____ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] ___ fill_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_filled_random_corner_mask_chunk_threads[3-OuterCode] ___________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_filled_random_corner_mask_chunk_threads[3-OuterOffset] __________ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCode] _______ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] ____ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] ___ fill_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("fill_type", FillType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 606, in test_filled_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_filled_random_quad_as_tri[serial] ____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_filled_random_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 635, in test_filled_random_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_filled_random_quad_as_tri[threaded] ___________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_filled_random_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_filled.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_filled.py", line 635, in test_filled_random_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_simple[mpl2005-SeparateCode-False] _________________ name = 'mpl2005', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple[mpl2005-SeparateCode-True] _________________ name = 'mpl2005', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_simple[mpl2014-SeparateCode-False] _________________ name = 'mpl2014', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple[mpl2014-SeparateCode-True] _________________ name = 'mpl2014', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_simple[serial-Separate-False] ___________________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_simple[serial-Separate-True] ____________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple[serial-SeparateCode-False] _________________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple[serial-SeparateCode-True] __________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple[serial-ChunkCombinedCode-False] _______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_simple[serial-ChunkCombinedCode-True] _______________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple[serial-ChunkCombinedOffset-False] ______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple[serial-ChunkCombinedOffset-True] ______________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_simple[serial-ChunkCombinedNan-False] _______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_simple[serial-ChunkCombinedNan-True] ________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_lines_simple[threaded-Separate-False] __________________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_lines_simple[threaded-Separate-True] ___________________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_simple[threaded-SeparateCode-False] ________________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_simple[threaded-SeparateCode-True] _________________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple[threaded-ChunkCombinedCode-False] ______________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple[threaded-ChunkCombinedCode-True] ______________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple[threaded-ChunkCombinedOffset-False] _____________ name = 'threaded', line_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple[threaded-ChunkCombinedOffset-True] _____________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple[threaded-ChunkCombinedNan-False] ______________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple[threaded-ChunkCombinedNan-True] _______________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 119, in test_lines_simple from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk[mpl2005-SeparateCode-False] ______________ name = 'mpl2005', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple_chunk[mpl2005-SeparateCode-True] ______________ name = 'mpl2005', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk[mpl2014-SeparateCode-False] ______________ name = 'mpl2014', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple_chunk[mpl2014-SeparateCode-True] ______________ name = 'mpl2014', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_simple_chunk[serial-Separate-False] ________________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_simple_chunk[serial-Separate-True] _________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple_chunk[serial-SeparateCode-False] ______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple_chunk[serial-SeparateCode-True] _______________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_chunk[serial-ChunkCombinedCode-False] ____________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_chunk[serial-ChunkCombinedCode-True] ____________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_chunk[serial-ChunkCombinedOffset-False] ___________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_chunk[serial-ChunkCombinedOffset-True] ___________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_chunk[serial-ChunkCombinedNan-False] ____________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_chunk[serial-ChunkCombinedNan-True] _____________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_simple_chunk[threaded-Separate-False] _______________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_simple_chunk[threaded-Separate-True] ________________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk[threaded-SeparateCode-False] _____________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk[threaded-SeparateCode-True] ______________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_chunk[threaded-ChunkCombinedCode-False] ___________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_chunk[threaded-ChunkCombinedCode-True] ___________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_chunk[threaded-ChunkCombinedOffset-False] __________ name = 'threaded', line_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_chunk[threaded-ChunkCombinedOffset-True] __________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_chunk[threaded-ChunkCombinedNan-False] ___________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_chunk[threaded-ChunkCombinedNan-True] ____________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 147, in test_lines_simple_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple_chunk_threads[2-Separate] __________________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_simple_chunk_threads[2-SeparateCode] ________________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk_threads[2-ChunkCombinedCode] _____________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_chunk_threads[2-ChunkCombinedOffset] ____________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk_threads[2-ChunkCombinedNan] ______________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple_chunk_threads[3-Separate] __________________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_simple_chunk_threads[3-SeparateCode] ________________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk_threads[3-ChunkCombinedCode] _____________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_chunk_threads[3-ChunkCombinedOffset] ____________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_chunk_threads[3-ChunkCombinedNan] ______________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 177, in test_lines_simple_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_no_corner_mask[mpl2005-SeparateCode] ____________ name = 'mpl2005', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_no_corner_mask[mpl2014-SeparateCode] ____________ name = 'mpl2014', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_simple_no_corner_mask[serial-Separate] _______________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_simple_no_corner_mask[serial-SeparateCode] _____________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_no_corner_mask[serial-ChunkCombinedCode] __________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_no_corner_mask[serial-ChunkCombinedOffset] _________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_no_corner_mask[serial-ChunkCombinedNan] ___________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_simple_no_corner_mask[threaded-Separate] ______________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_no_corner_mask[threaded-SeparateCode] ____________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_no_corner_mask[threaded-ChunkCombinedCode] _________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_simple_no_corner_mask[threaded-ChunkCombinedOffset] ________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_no_corner_mask[threaded-ChunkCombinedNan] __________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 201, in test_lines_simple_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_no_corner_mask_chunk[mpl2005-SeparateCode] _________ name = 'mpl2005', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_no_corner_mask_chunk[mpl2014-SeparateCode] _________ name = 'mpl2014', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_no_corner_mask_chunk[serial-Separate] ____________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_no_corner_mask_chunk[serial-SeparateCode] __________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] _______ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedNan] ________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_no_corner_mask_chunk[threaded-Separate] ___________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_simple_no_corner_mask_chunk[threaded-SeparateCode] _________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedNan] _______ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 223, in test_lines_simple_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_no_corner_mask_chunk_threads[2-Separate] __________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_simple_no_corner_mask_chunk_threads[2-SeparateCode] ________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] ______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] _____ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedNan] ______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_simple_no_corner_mask_chunk_threads[3-Separate] __________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_simple_no_corner_mask_chunk_threads[3-SeparateCode] ________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] ______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] _____ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedNan] ______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 249, in test_lines_simple_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_lines_simple_corner_mask[mpl2014] ____________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_simple_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 276, in test_lines_simple_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_lines_simple_corner_mask[serial] _____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_simple_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 276, in test_lines_simple_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_simple_corner_mask[threaded] ____________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_simple_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 276, in test_lines_simple_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple_corner_mask_chunk[mpl2014] _________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_simple_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 299, in test_lines_simple_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_simple_corner_mask_chunk[serial] __________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_simple_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 299, in test_lines_simple_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_simple_corner_mask_chunk[threaded] _________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_simple_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 299, in test_lines_simple_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_corner_mask_chunk_threads[2-Separate] ____________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_corner_mask_chunk_threads[2-SeparateCode] __________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] _______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedNan] ________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_simple_corner_mask_chunk_threads[3-Separate] ____________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_simple_corner_mask_chunk_threads[3-SeparateCode] __________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] _______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedNan] ________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 326, in test_lines_simple_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_lines_simple_quad_as_tri[serial] _____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_lines_simple_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 353, in test_lines_simple_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_simple_quad_as_tri[threaded] ____________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_lines_simple_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:353: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 353, in test_lines_simple_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_random[mpl2005-SeparateCode-False] _________________ name = 'mpl2005', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random[mpl2005-SeparateCode-True] _________________ name = 'mpl2005', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_random[mpl2014-SeparateCode-False] _________________ name = 'mpl2014', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random[mpl2014-SeparateCode-True] _________________ name = 'mpl2014', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_random[serial-Separate-False] ___________________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_random[serial-Separate-True] ____________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random[serial-SeparateCode-False] _________________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random[serial-SeparateCode-True] __________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random[serial-ChunkCombinedCode-False] _______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_random[serial-ChunkCombinedCode-True] _______________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random[serial-ChunkCombinedOffset-False] ______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random[serial-ChunkCombinedOffset-True] ______________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_random[serial-ChunkCombinedNan-False] _______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_random[serial-ChunkCombinedNan-True] ________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_lines_random[threaded-Separate-False] __________________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________________ test_lines_random[threaded-Separate-True] ___________________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_random[threaded-SeparateCode-False] ________________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_random[threaded-SeparateCode-True] _________________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random[threaded-ChunkCombinedCode-False] ______________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random[threaded-ChunkCombinedCode-True] ______________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random[threaded-ChunkCombinedOffset-False] _____________ name = 'threaded', line_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random[threaded-ChunkCombinedOffset-True] _____________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random[threaded-ChunkCombinedNan-False] ______________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random[threaded-ChunkCombinedNan-True] _______________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:376: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 376, in test_lines_random from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk[mpl2005-SeparateCode-False] ______________ name = 'mpl2005', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random_chunk[mpl2005-SeparateCode-True] ______________ name = 'mpl2005', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk[mpl2014-SeparateCode-False] ______________ name = 'mpl2014', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random_chunk[mpl2014-SeparateCode-True] ______________ name = 'mpl2014', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_random_chunk[serial-Separate-False] ________________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_random_chunk[serial-Separate-True] _________________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random_chunk[serial-SeparateCode-False] ______________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random_chunk[serial-SeparateCode-True] _______________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_chunk[serial-ChunkCombinedCode-False] ____________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_chunk[serial-ChunkCombinedCode-True] ____________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_chunk[serial-ChunkCombinedOffset-False] ___________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_chunk[serial-ChunkCombinedOffset-True] ___________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_chunk[serial-ChunkCombinedNan-False] ____________ name = 'serial', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_chunk[serial-ChunkCombinedNan-True] _____________ name = 'serial', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_random_chunk[threaded-Separate-False] _______________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_random_chunk[threaded-Separate-True] ________________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk[threaded-SeparateCode-False] _____________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk[threaded-SeparateCode-True] ______________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_chunk[threaded-ChunkCombinedCode-False] ___________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_chunk[threaded-ChunkCombinedCode-True] ___________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_chunk[threaded-ChunkCombinedOffset-False] __________ name = 'threaded', line_type = multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_chunk[threaded-ChunkCombinedOffset-True] __________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_chunk[threaded-ChunkCombinedNan-False] ___________ name = 'threaded', line_type = , multi = False @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_chunk[threaded-ChunkCombinedNan-True] ____________ name = 'threaded', line_type = , multi = True @pytest.mark.image @pytest.mark.parametrize("multi", [False, True]) @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_chunk(name: str, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:406: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 406, in test_lines_random_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random_chunk_threads[2-Separate] __________________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_random_chunk_threads[2-SeparateCode] ________________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk_threads[2-ChunkCombinedCode] _____________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_chunk_threads[2-ChunkCombinedOffset] ____________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk_threads[2-ChunkCombinedNan] ______________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random_chunk_threads[3-Separate] __________________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_lines_random_chunk_threads[3-SeparateCode] ________________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk_threads[3-ChunkCombinedCode] _____________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_chunk_threads[3-ChunkCombinedOffset] ____________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_chunk_threads[3-ChunkCombinedNan] ______________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 445, in test_lines_random_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_no_corner_mask[mpl2005-SeparateCode] ____________ name = 'mpl2005', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_no_corner_mask[mpl2014-SeparateCode] ____________ name = 'mpl2014', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_lines_random_no_corner_mask[serial-Separate] _______________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_lines_random_no_corner_mask[serial-SeparateCode] _____________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_no_corner_mask[serial-ChunkCombinedCode] __________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_no_corner_mask[serial-ChunkCombinedOffset] _________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_no_corner_mask[serial-ChunkCombinedNan] ___________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_lines_random_no_corner_mask[threaded-Separate] ______________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_no_corner_mask[threaded-SeparateCode] ____________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_no_corner_mask[threaded-ChunkCombinedCode] _________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_random_no_corner_mask[threaded-ChunkCombinedOffset] ________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_no_corner_mask[threaded-ChunkCombinedNan] __________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 471, in test_lines_random_no_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_no_corner_mask_chunk[mpl2005-SeparateCode] _________ name = 'mpl2005', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_no_corner_mask_chunk[mpl2014-SeparateCode] _________ name = 'mpl2014', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_no_corner_mask_chunk[serial-Separate] ____________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_no_corner_mask_chunk[serial-SeparateCode] __________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedCode] _______ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedNan] ________ name = 'serial', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_no_corner_mask_chunk[threaded-Separate] ___________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_random_no_corner_mask_chunk[threaded-SeparateCode] _________ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedNan] _______ name = 'threaded', line_type = @pytest.mark.image @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types()) def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 493, in test_lines_random_no_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_no_corner_mask_chunk_threads[2-Separate] __________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_random_no_corner_mask_chunk_threads[2-SeparateCode] ________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] ______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] _____ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedNan] ______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_lines_random_no_corner_mask_chunk_threads[3-Separate] __________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_lines_random_no_corner_mask_chunk_threads[3-SeparateCode] ________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____ test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] ______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____ test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] _____ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedNan] ______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:522: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 522, in test_lines_random_no_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_lines_random_corner_mask[mpl2014] ____________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_random_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:549: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 549, in test_lines_random_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_lines_random_corner_mask[serial] _____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_random_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:549: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 549, in test_lines_random_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_random_corner_mask[threaded] ____________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_random_corner_mask(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:549: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 549, in test_lines_random_corner_mask from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random_corner_mask_chunk[mpl2014] _________________ name = 'mpl2014' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_random_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 572, in test_lines_random_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________________ test_lines_random_corner_mask_chunk[serial] __________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_random_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 572, in test_lines_random_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_lines_random_corner_mask_chunk[threaded] _________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.corner_mask_names()) def test_lines_random_corner_mask_chunk(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 572, in test_lines_random_corner_mask_chunk from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_corner_mask_chunk_threads[2-Separate] ____________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_corner_mask_chunk_threads[2-SeparateCode] __________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedCode] _______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedNan] ________ line_type = , thread_count = 2 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_lines_random_corner_mask_chunk_threads[3-Separate] ____________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_lines_random_corner_mask_chunk_threads[3-SeparateCode] __________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedCode] _______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedNan] ________ line_type = , thread_count = 3 @pytest.mark.image @pytest.mark.threads @pytest.mark.parametrize("line_type", LineType.__members__.values()) @pytest.mark.parametrize("thread_count", util_test.thread_counts()) def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 599, in test_lines_random_corner_mask_chunk_threads from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________________ test_lines_random_quad_as_tri[serial] _____________________ name = 'serial' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_lines_random_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:626: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 626, in test_lines_random_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________________ test_lines_random_quad_as_tri[threaded] ____________________ name = 'threaded' @pytest.mark.image @pytest.mark.parametrize("name", util_test.quad_as_tri_names()) def test_lines_random_quad_as_tri(name: str) -> None: > from contourpy.util.mpl_renderer import MplTestRenderer tests/test_lines.py:626: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_lines.py", line 626, in test_lines_random_quad_as_tri from contourpy.util.mpl_renderer import MplTestRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_debug_renderer_filled[False-OuterCode0-False] ______________ show_text = False, fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_debug_renderer_filled[False-OuterOffset-False] ______________ show_text = False, fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_debug_renderer_filled[False-ChunkCombinedCode-False] ___________ show_text = False, fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_debug_renderer_filled[False-ChunkCombinedOffset-False] __________ show_text = False, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_debug_renderer_filled[False-ChunkCombinedCodeOffset-False] ________ show_text = False, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_debug_renderer_filled[False-ChunkCombinedOffsetOffset-False] _______ show_text = False, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_debug_renderer_filled[False-OuterCode1-False] ______________ show_text = False, fill_type = 'OuterCode', multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_debug_renderer_filled[True-OuterCode0-False] _______________ show_text = False, fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_debug_renderer_filled[True-OuterOffset-False] ______________ show_text = False, fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_debug_renderer_filled[True-ChunkCombinedCode-False] ___________ show_text = False, fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_debug_renderer_filled[True-ChunkCombinedOffset-False] __________ show_text = False, fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_debug_renderer_filled[True-ChunkCombinedCodeOffset-False] ________ show_text = False, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_debug_renderer_filled[True-ChunkCombinedOffsetOffset-False] _______ show_text = False, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_debug_renderer_filled[True-OuterCode1-False] _______________ show_text = False, fill_type = 'OuterCode', multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 22, in test_debug_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_debug_renderer_lines[False-Separate0-False] _______________ show_text = False, line_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_debug_renderer_lines[False-SeparateCode-False] ______________ show_text = False, line_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_debug_renderer_lines[False-ChunkCombinedCode-False] ___________ show_text = False, line_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_debug_renderer_lines[False-ChunkCombinedOffset-False] __________ show_text = False, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_debug_renderer_lines[False-ChunkCombinedNan-False] ____________ show_text = False, line_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_debug_renderer_lines[False-Separate1-False] _______________ show_text = False, line_type = 'Separate', multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_debug_renderer_lines[True-Separate0-False] ________________ show_text = False, line_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_debug_renderer_lines[True-SeparateCode-False] ______________ show_text = False, line_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_debug_renderer_lines[True-ChunkCombinedCode-False] ____________ show_text = False, line_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_debug_renderer_lines[True-ChunkCombinedOffset-False] ___________ show_text = False, line_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_debug_renderer_lines[True-ChunkCombinedNan-False] ____________ show_text = False, line_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_debug_renderer_lines[True-Separate1-False] ________________ show_text = False, line_type = 'Separate', multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_debug_renderer_lines(show_text: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer tests/test_renderer.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 55, in test_debug_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[False-OuterCode0-False-False] ______________ show_text = False, debug = False, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[False-OuterCode0-True-False] _______________ show_text = False, debug = True, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_renderer_filled[False-OuterOffset-False-False] ______________ show_text = False, debug = False, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[False-OuterOffset-True-False] ______________ show_text = False, debug = True, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_renderer_filled[False-ChunkCombinedCode-False-False] ___________ show_text = False, debug = False, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_filled[False-ChunkCombinedCode-True-False] ___________ show_text = False, debug = True, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _________ test_renderer_filled[False-ChunkCombinedOffset-False-False] __________ show_text = False, debug = False fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_renderer_filled[False-ChunkCombinedOffset-True-False] __________ show_text = False, debug = True, fill_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_renderer_filled[False-ChunkCombinedCodeOffset-False-False] ________ show_text = False, debug = False fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_renderer_filled[False-ChunkCombinedCodeOffset-True-False] ________ show_text = False, debug = True fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______ test_renderer_filled[False-ChunkCombinedOffsetOffset-False-False] _______ show_text = False, debug = False fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_renderer_filled[False-ChunkCombinedOffsetOffset-True-False] _______ show_text = False, debug = True fill_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[False-OuterCode1-False-False] ______________ show_text = False, debug = False, fill_type = 'OuterCode', multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[False-OuterCode1-True-False] _______________ show_text = False, debug = True, fill_type = 'OuterCode', multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[True-OuterCode0-False-False] _______________ show_text = False, debug = False, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_filled[True-OuterCode0-True-False] _______________ show_text = False, debug = True, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[True-OuterOffset-False-False] ______________ show_text = False, debug = False, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[True-OuterOffset-True-False] _______________ show_text = False, debug = True, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_filled[True-ChunkCombinedCode-False-False] ___________ show_text = False, debug = False, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_filled[True-ChunkCombinedCode-True-False] ____________ show_text = False, debug = True, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_renderer_filled[True-ChunkCombinedOffset-False-False] __________ show_text = False, debug = False fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_renderer_filled[True-ChunkCombinedOffset-True-False] ___________ show_text = False, debug = True, fill_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_renderer_filled[True-ChunkCombinedCodeOffset-False-False] ________ show_text = False, debug = False fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________ test_renderer_filled[True-ChunkCombinedCodeOffset-True-False] _________ show_text = False, debug = True fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_renderer_filled[True-ChunkCombinedOffsetOffset-False-False] _______ show_text = False, debug = False fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______ test_renderer_filled[True-ChunkCombinedOffsetOffset-True-False] ________ show_text = False, debug = True fill_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_filled[True-OuterCode1-False-False] _______________ show_text = False, debug = False, fill_type = 'OuterCode', multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_filled[True-OuterCode1-True-False] _______________ show_text = False, debug = True, fill_type = 'OuterCode', multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 89, in test_renderer_filled from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_lines[False-Separate0-False-False] _______________ show_text = False, debug = False, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_lines[False-Separate0-True-False] ________________ show_text = False, debug = True, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________ test_renderer_lines[False-SeparateCode-False-False] ______________ show_text = False, debug = False, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_lines[False-SeparateCode-True-False] ______________ show_text = False, debug = True, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_lines[False-ChunkCombinedCode-False-False] ___________ show_text = False, debug = False, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_lines[False-ChunkCombinedCode-True-False] ____________ show_text = False, debug = True, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_renderer_lines[False-ChunkCombinedOffset-False-False] __________ show_text = False, debug = False line_type = , multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_renderer_lines[False-ChunkCombinedOffset-True-False] ___________ show_text = False, debug = True, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_lines[False-ChunkCombinedNan-False-False] ____________ show_text = False, debug = False, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_renderer_lines[False-ChunkCombinedNan-True-False] ____________ show_text = False, debug = True, line_type = multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_lines[False-Separate1-False-False] _______________ show_text = False, debug = False, line_type = 'Separate', multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_lines[False-Separate1-True-False] ________________ show_text = False, debug = True, line_type = 'Separate', multi = False @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_lines[True-Separate0-False-False] ________________ show_text = False, debug = False, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_renderer_lines[True-Separate0-True-False] ________________ show_text = False, debug = True, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_lines[True-SeparateCode-False-False] ______________ show_text = False, debug = False, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ______________ test_renderer_lines[True-SeparateCode-True-False] _______________ show_text = False, debug = True, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_lines[True-ChunkCombinedCode-False-False] ____________ show_text = False, debug = False, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_renderer_lines[True-ChunkCombinedCode-True-False] ____________ show_text = False, debug = True, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. __________ test_renderer_lines[True-ChunkCombinedOffset-False-False] ___________ show_text = False, debug = False line_type = , multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ___________ test_renderer_lines[True-ChunkCombinedOffset-True-False] ___________ show_text = False, debug = True, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_renderer_lines[True-ChunkCombinedNan-False-False] ____________ show_text = False, debug = False, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ____________ test_renderer_lines[True-ChunkCombinedNan-True-False] _____________ show_text = False, debug = True, line_type = multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _______________ test_renderer_lines[True-Separate1-False-False] ________________ show_text = False, debug = False, line_type = 'Separate', multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. ________________ test_renderer_lines[True-Separate1-True-False] ________________ show_text = False, debug = True, line_type = 'Separate', multi = True @pytest.mark.image @pytest.mark.text @pytest.mark.parametrize("show_text", [False, True]) @pytest.mark.parametrize("debug", [False, True]) @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"]) @pytest.mark.parametrize("multi", [False, True]) def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType, multi: bool) -> None: > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer tests/test_renderer.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 141, in test_renderer_lines from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________________________ test_save_png[False] _____________________________ transparent = False tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_png_False_0') @pytest.mark.image @pytest.mark.parametrize("transparent", [False, True]) def test_save_png(transparent: bool, tmpdir: LocalPath) -> None: from PIL import Image > from contourpy.util.mpl_renderer import MplRenderer tests/test_renderer.py:193: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 193, in test_save_png from contourpy.util.mpl_renderer import MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________________________ test_save_png[True] ______________________________ transparent = True tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_png_True_0') @pytest.mark.image @pytest.mark.parametrize("transparent", [False, True]) def test_save_png(transparent: bool, tmpdir: LocalPath) -> None: from PIL import Image > from contourpy.util.mpl_renderer import MplRenderer tests/test_renderer.py:193: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 193, in test_save_png from contourpy.util.mpl_renderer import MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________________________ test_save_svg[False] _____________________________ transparent = False tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_svg_False_0') @pytest.mark.image @pytest.mark.parametrize("transparent", [False, True]) def test_save_svg(transparent: bool, tmpdir: LocalPath) -> None: > from contourpy.util.mpl_renderer import MplRenderer tests/test_renderer.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 213, in test_save_svg from contourpy.util.mpl_renderer import MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. _____________________________ test_save_svg[True] ______________________________ transparent = True tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_svg_True_0') @pytest.mark.image @pytest.mark.parametrize("transparent", [False, True]) def test_save_svg(transparent: bool, tmpdir: LocalPath) -> None: > from contourpy.util.mpl_renderer import MplRenderer tests/test_renderer.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in import matplotlib.collections as mcollections /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in from . import _api, _version, cbook, _docstring, rcsetup /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in from matplotlib.colors import Colormap, is_color_like /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in from matplotlib import _api, _cm, cbook, scale /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in from matplotlib.ticker import ( /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in from matplotlib import transforms as mtransforms _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ Matplotlib includes a framework for arbitrary geometric transformations that is used determine the final position of all elements drawn on the canvas. Transforms are composed into trees of `TransformNode` objects whose actual value depends on their children. When the contents of children change, their parents are automatically invalidated. The next time an invalidated transform is accessed, it is recomputed to reflect those changes. This invalidation/caching approach prevents unnecessary recomputations of transforms, and contributes to better interactive performance. For example, here is a graph of the transform tree used to plot data to the graph: .. image:: ../_static/transforms.png The framework can be used for both affine and non-affine transformations. However, for speed, we want to use the backend renderers to perform affine transformations whenever possible. Therefore, it is possible to perform just the affine or non-affine part of a transformation on a set of data. The affine is always assumed to occur after the non-affine. For any transform:: full transform == non-affine part + affine part The backends are not expected to handle non-affine transformations themselves. See the tutorial :ref:`transforms_tutorial` for examples of how to use transforms. """ # Note: There are a number of places in the code where we use `np.min` or # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. import copy import functools import textwrap import weakref import math import numpy as np from numpy.linalg import inv from matplotlib import _api > from matplotlib._path import ( affine_transform, count_bboxes_overlapping_bbox, update_path_extents) E ImportError: numpy.core.multiarray failed to import /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError ----------------------------- Captured stderr call ----------------------------- A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 9, in raise SystemExit(pytest.console_main()) File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main code = main() File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 330, in pytest_cmdline_main return wrap_session(config, _main) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 283, in wrap_session session.exitstatus = doit(config, session) or 0 File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 337, in _main config.hook.pytest_runtestloop(session=session) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 362, in pytest_runtestloop item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol runtestprotocol(item, nextitem=nextitem) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 132, in runtestprotocol reports.append(call_and_report(item, "call", log)) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in call_and_report call = CallInfo.from_call( File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call result: TResult | None = func() File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 242, in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call item.runtest() File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1627, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call result = testfunction(**testargs) File "/build/python-contourpy/src/contourpy/tests/test_renderer.py", line 213, in test_save_svg from contourpy.util.mpl_renderer import MplRenderer File "/build/python-contourpy/src/contourpy/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in import matplotlib.collections as mcollections File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in from matplotlib import _api, _cm, cbook, scale File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in from matplotlib.ticker import ( File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in from matplotlib import transforms as mtransforms File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in from matplotlib._path import ( Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__ raise ImportError(msg) ImportError: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.1 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. =============================== warnings summary =============================== tests/test_config.py:38 /build/python-contourpy/src/contourpy/tests/test_config.py:38: PytestUnknownMarkWarning: Unknown pytest.mark.flaky - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.flaky(reruns=1, condition=platform.python_implementation().startswith("PyPy")) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_config.py::test_config_filled[mpl2005-False] - ImportError:... FAILED tests/test_config.py::test_config_filled[mpl2014-False] - ImportError:... FAILED tests/test_config.py::test_config_filled[serial-False] - ImportError: ... FAILED tests/test_config.py::test_config_filled[threaded-False] - ImportError... FAILED tests/test_config.py::test_config_filled_quad_as_tri[serial-False] - I... FAILED tests/test_config.py::test_config_filled_quad_as_tri[threaded-False] FAILED tests/test_config.py::test_config_filled_corner[mpl2014-False] - Impor... FAILED tests/test_config.py::test_config_filled_corner[serial-False] - Import... FAILED tests/test_config.py::test_config_filled_corner[threaded-False] - Impo... FAILED tests/test_config.py::test_config_lines[mpl2005-False] - ImportError: ... FAILED tests/test_config.py::test_config_lines[mpl2014-False] - ImportError: ... FAILED tests/test_config.py::test_config_lines[serial-False] - ImportError: n... FAILED tests/test_config.py::test_config_lines[threaded-False] - ImportError:... FAILED tests/test_config.py::test_config_lines_quad_as_tri[serial-False] - Im... FAILED tests/test_config.py::test_config_lines_quad_as_tri[threaded-False] - ... FAILED tests/test_config.py::test_config_lines_corner[mpl2014-False] - Import... FAILED tests/test_config.py::test_config_lines_corner[serial-False] - ImportE... FAILED tests/test_config.py::test_config_lines_corner[threaded-False] - Impor... FAILED tests/test_filled.py::test_filled_simple[mpl2005-OuterCode-False] - Im... FAILED tests/test_filled.py::test_filled_simple[mpl2005-OuterCode-True] - Imp... FAILED tests/test_filled.py::test_filled_simple[mpl2014-OuterCode-False] - Im... FAILED tests/test_filled.py::test_filled_simple[mpl2014-OuterCode-True] - Imp... FAILED tests/test_filled.py::test_filled_simple[serial-OuterCode-False] - Imp... FAILED tests/test_filled.py::test_filled_simple[serial-OuterCode-True] - Impo... FAILED tests/test_filled.py::test_filled_simple[serial-OuterOffset-False] - I... FAILED tests/test_filled.py::test_filled_simple[serial-OuterOffset-True] - Im... FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_simple[threaded-OuterCode-False] - I... FAILED tests/test_filled.py::test_filled_simple[threaded-OuterCode-True] - Im... FAILED tests/test_filled.py::test_filled_simple[threaded-OuterOffset-False] FAILED tests/test_filled.py::test_filled_simple[threaded-OuterOffset-True] - ... FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[mpl2005-OuterCode-False] FAILED tests/test_filled.py::test_filled_simple_chunk[mpl2005-OuterCode-True] FAILED tests/test_filled.py::test_filled_simple_chunk[mpl2014-OuterCode-False] FAILED tests/test_filled.py::test_filled_simple_chunk[mpl2014-OuterCode-True] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-OuterCode-False] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-OuterCode-True] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-OuterOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-OuterOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-OuterCode-False] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-OuterCode-True] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-OuterOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-OuterOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterCode] - ... FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterCode] - ... FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2005-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2014-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2005-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2014-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask[mpl2014] - Import... FAILED tests/test_filled.py::test_filled_simple_corner_mask[serial] - ImportE... FAILED tests/test_filled.py::test_filled_simple_corner_mask[threaded] - Impor... FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk[mpl2014] - ... FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk[serial] - I... FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk[threaded] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterCode] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterCode] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_simple_quad_as_tri[serial] - ImportE... FAILED tests/test_filled.py::test_filled_simple_quad_as_tri[threaded] - Impor... FAILED tests/test_filled.py::test_filled_random[mpl2005-OuterCode-False] - Im... FAILED tests/test_filled.py::test_filled_random[mpl2005-OuterCode-True] - Imp... FAILED tests/test_filled.py::test_filled_random[mpl2014-OuterCode-False] - Im... FAILED tests/test_filled.py::test_filled_random[mpl2014-OuterCode-True] - Imp... FAILED tests/test_filled.py::test_filled_random[serial-OuterCode-False] - Imp... FAILED tests/test_filled.py::test_filled_random[serial-OuterCode-True] - Impo... FAILED tests/test_filled.py::test_filled_random[serial-OuterOffset-False] - I... FAILED tests/test_filled.py::test_filled_random[serial-OuterOffset-True] - Im... FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_random[threaded-OuterCode-False] - I... FAILED tests/test_filled.py::test_filled_random[threaded-OuterCode-True] - Im... FAILED tests/test_filled.py::test_filled_random[threaded-OuterOffset-False] FAILED tests/test_filled.py::test_filled_random[threaded-OuterOffset-True] - ... FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[mpl2005-OuterCode-False] FAILED tests/test_filled.py::test_filled_random_chunk[mpl2005-OuterCode-True] FAILED tests/test_filled.py::test_filled_random_chunk[mpl2014-OuterCode-False] FAILED tests/test_filled.py::test_filled_random_chunk[mpl2014-OuterCode-True] FAILED tests/test_filled.py::test_filled_random_chunk[serial-OuterCode-False] FAILED tests/test_filled.py::test_filled_random_chunk[serial-OuterCode-True] FAILED tests/test_filled.py::test_filled_random_chunk[serial-OuterOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[serial-OuterOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-OuterCode-False] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-OuterCode-True] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-OuterOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-OuterOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCode-False] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCode-True] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCodeOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCodeOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset-False] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset-True] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-OuterCode] - ... FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-OuterOffset] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-OuterCode] - ... FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-OuterOffset] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[mpl2005-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[mpl2014-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2005-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2014-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask[mpl2014] - Import... FAILED tests/test_filled.py::test_filled_random_corner_mask[serial] - ImportE... FAILED tests/test_filled.py::test_filled_random_corner_mask[threaded] - Impor... FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk[mpl2014] - ... FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk[serial] - I... FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk[threaded] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterCode] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterCode] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED tests/test_filled.py::test_filled_random_quad_as_tri[serial] - ImportE... FAILED tests/test_filled.py::test_filled_random_quad_as_tri[threaded] - Impor... FAILED tests/test_lines.py::test_lines_simple[mpl2005-SeparateCode-False] - I... FAILED tests/test_lines.py::test_lines_simple[mpl2005-SeparateCode-True] - Im... FAILED tests/test_lines.py::test_lines_simple[mpl2014-SeparateCode-False] - I... FAILED tests/test_lines.py::test_lines_simple[mpl2014-SeparateCode-True] - Im... FAILED tests/test_lines.py::test_lines_simple[serial-Separate-False] - Import... FAILED tests/test_lines.py::test_lines_simple[serial-Separate-True] - ImportE... FAILED tests/test_lines.py::test_lines_simple[serial-SeparateCode-False] - Im... FAILED tests/test_lines.py::test_lines_simple[serial-SeparateCode-True] - Imp... FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_simple[threaded-Separate-False] - Impo... FAILED tests/test_lines.py::test_lines_simple[threaded-Separate-True] - Impor... FAILED tests/test_lines.py::test_lines_simple[threaded-SeparateCode-False] - ... FAILED tests/test_lines.py::test_lines_simple[threaded-SeparateCode-True] - I... FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_simple_chunk[mpl2005-SeparateCode-False] FAILED tests/test_lines.py::test_lines_simple_chunk[mpl2005-SeparateCode-True] FAILED tests/test_lines.py::test_lines_simple_chunk[mpl2014-SeparateCode-False] FAILED tests/test_lines.py::test_lines_simple_chunk[mpl2014-SeparateCode-True] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-Separate-False] - ... FAILED tests/test_lines.py::test_lines_simple_chunk[serial-Separate-True] - I... FAILED tests/test_lines.py::test_lines_simple_chunk[serial-SeparateCode-False] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-SeparateCode-True] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-Separate-False] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-Separate-True] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-SeparateCode-False] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-SeparateCode-True] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-Separate] - Imp... FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-Separate] - Imp... FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2005-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2014-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-Separate] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-Separate] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2005-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2014-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-Separate] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-Separate] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-Separate] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-Separate] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_corner_mask[mpl2014] - ImportEr... FAILED tests/test_lines.py::test_lines_simple_corner_mask[serial] - ImportErr... FAILED tests/test_lines.py::test_lines_simple_corner_mask[threaded] - ImportE... FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk[mpl2014] - Im... FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk[serial] - Imp... FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk[threaded] - I... FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-Separate] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-Separate] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-SeparateCode] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_simple_quad_as_tri[serial] - ImportErr... FAILED tests/test_lines.py::test_lines_simple_quad_as_tri[threaded] - ImportE... FAILED tests/test_lines.py::test_lines_random[mpl2005-SeparateCode-False] - I... FAILED tests/test_lines.py::test_lines_random[mpl2005-SeparateCode-True] - Im... FAILED tests/test_lines.py::test_lines_random[mpl2014-SeparateCode-False] - I... FAILED tests/test_lines.py::test_lines_random[mpl2014-SeparateCode-True] - Im... FAILED tests/test_lines.py::test_lines_random[serial-Separate-False] - Import... FAILED tests/test_lines.py::test_lines_random[serial-Separate-True] - ImportE... FAILED tests/test_lines.py::test_lines_random[serial-SeparateCode-False] - Im... FAILED tests/test_lines.py::test_lines_random[serial-SeparateCode-True] - Imp... FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_random[threaded-Separate-False] - Impo... FAILED tests/test_lines.py::test_lines_random[threaded-Separate-True] - Impor... FAILED tests/test_lines.py::test_lines_random[threaded-SeparateCode-False] - ... FAILED tests/test_lines.py::test_lines_random[threaded-SeparateCode-True] - I... FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_random_chunk[mpl2005-SeparateCode-False] FAILED tests/test_lines.py::test_lines_random_chunk[mpl2005-SeparateCode-True] FAILED tests/test_lines.py::test_lines_random_chunk[mpl2014-SeparateCode-False] FAILED tests/test_lines.py::test_lines_random_chunk[mpl2014-SeparateCode-True] FAILED tests/test_lines.py::test_lines_random_chunk[serial-Separate-False] - ... FAILED tests/test_lines.py::test_lines_random_chunk[serial-Separate-True] - I... FAILED tests/test_lines.py::test_lines_random_chunk[serial-SeparateCode-False] FAILED tests/test_lines.py::test_lines_random_chunk[serial-SeparateCode-True] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-Separate-False] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-Separate-True] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-SeparateCode-False] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-SeparateCode-True] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedCode-False] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedCode-True] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedOffset-False] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedOffset-True] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedNan-False] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedNan-True] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-Separate] - Imp... FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-SeparateCode] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-Separate] - Imp... FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-SeparateCode] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[mpl2005-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[mpl2014-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-Separate] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-Separate] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2005-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2014-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-Separate] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-Separate] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-Separate] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-Separate] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-SeparateCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_corner_mask[mpl2014] - ImportEr... FAILED tests/test_lines.py::test_lines_random_corner_mask[serial] - ImportErr... FAILED tests/test_lines.py::test_lines_random_corner_mask[threaded] - ImportE... FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk[mpl2014] - Im... FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk[serial] - Imp... FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk[threaded] - I... FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-Separate] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-SeparateCode] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-Separate] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-SeparateCode] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED tests/test_lines.py::test_lines_random_quad_as_tri[serial] - ImportErr... FAILED tests/test_lines.py::test_lines_random_quad_as_tri[threaded] - ImportE... FAILED tests/test_renderer.py::test_debug_renderer_filled[False-OuterCode0-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[False-OuterOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedCode-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedCodeOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[False-ChunkCombinedOffsetOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[False-OuterCode1-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[True-OuterCode0-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[True-OuterOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedCode-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedCodeOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[True-ChunkCombinedOffsetOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_filled[True-OuterCode1-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[False-Separate0-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[False-SeparateCode-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedCode-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[False-ChunkCombinedNan-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[False-Separate1-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[True-Separate0-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[True-SeparateCode-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedCode-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedOffset-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[True-ChunkCombinedNan-False] FAILED tests/test_renderer.py::test_debug_renderer_lines[True-Separate1-False] FAILED tests/test_renderer.py::test_renderer_filled[False-OuterCode0-False-False] FAILED tests/test_renderer.py::test_renderer_filled[False-OuterCode0-True-False] FAILED tests/test_renderer.py::test_renderer_filled[False-OuterOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[False-OuterOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCode-False-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCode-True-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCodeOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedCodeOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffsetOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[False-ChunkCombinedOffsetOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[False-OuterCode1-False-False] FAILED tests/test_renderer.py::test_renderer_filled[False-OuterCode1-True-False] FAILED tests/test_renderer.py::test_renderer_filled[True-OuterCode0-False-False] FAILED tests/test_renderer.py::test_renderer_filled[True-OuterCode0-True-False] FAILED tests/test_renderer.py::test_renderer_filled[True-OuterOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[True-OuterOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCode-False-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCode-True-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCodeOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedCodeOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffsetOffset-False-False] FAILED tests/test_renderer.py::test_renderer_filled[True-ChunkCombinedOffsetOffset-True-False] FAILED tests/test_renderer.py::test_renderer_filled[True-OuterCode1-False-False] FAILED tests/test_renderer.py::test_renderer_filled[True-OuterCode1-True-False] FAILED tests/test_renderer.py::test_renderer_lines[False-Separate0-False-False] FAILED tests/test_renderer.py::test_renderer_lines[False-Separate0-True-False] FAILED tests/test_renderer.py::test_renderer_lines[False-SeparateCode-False-False] FAILED tests/test_renderer.py::test_renderer_lines[False-SeparateCode-True-False] FAILED tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedCode-False-False] FAILED tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedCode-True-False] FAILED tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedOffset-False-False] FAILED tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedOffset-True-False] FAILED tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedNan-False-False] FAILED tests/test_renderer.py::test_renderer_lines[False-ChunkCombinedNan-True-False] FAILED tests/test_renderer.py::test_renderer_lines[False-Separate1-False-False] FAILED tests/test_renderer.py::test_renderer_lines[False-Separate1-True-False] FAILED tests/test_renderer.py::test_renderer_lines[True-Separate0-False-False] FAILED tests/test_renderer.py::test_renderer_lines[True-Separate0-True-False] FAILED tests/test_renderer.py::test_renderer_lines[True-SeparateCode-False-False] FAILED tests/test_renderer.py::test_renderer_lines[True-SeparateCode-True-False] FAILED tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedCode-False-False] FAILED tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedCode-True-False] FAILED tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedOffset-False-False] FAILED tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedOffset-True-False] FAILED tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedNan-False-False] FAILED tests/test_renderer.py::test_renderer_lines[True-ChunkCombinedNan-True-False] FAILED tests/test_renderer.py::test_renderer_lines[True-Separate1-False-False] FAILED tests/test_renderer.py::test_renderer_lines[True-Separate1-True-False] FAILED tests/test_renderer.py::test_save_png[False] - ImportError: numpy.core... FAILED tests/test_renderer.py::test_save_png[True] - ImportError: numpy.core.... FAILED tests/test_renderer.py::test_save_svg[False] - ImportError: numpy.core... FAILED tests/test_renderer.py::test_save_svg[True] - ImportError: numpy.core.... ==== 576 failed, 1820 passed, 117 skipped, 1 warning in 19461.70s (5:24:21) ==== ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/root0/build [?25h[?25hreceiving incremental file list python-contourpy-1.3.0-1-riscv64-build.log python-contourpy-1.3.0-1-riscv64-check.log python-contourpy-1.3.0-1-riscv64-prepare.log sent 81 bytes received 77,732 bytes 155,626.00 bytes/sec total size is 6,201,654 speedup is 79.70